>我使用以下代码在我的应用程序中视图的左上角放置了一个节点:
health = SKSpriteNode(color: .green, size: CGSize(width: progressValue, height: 50))
health.position = CGPoint(x: -self.frame.width / 2, y: self.frame.height / 2)
这在所有iPhone模拟器中都正确定位,范围从5到7 Plus。
但是,它不会出现在任何iPad模拟器中。我已将位置设置为 midX 和 midY,它看起来很好,只是上面显示的代码不适用于所有 iPhone。
我错过了什么?
有没有不同的方法可以在iPhone v iPad的视图上定位节点,而不是使用视图的倍数?
已求解:
问题是场景缩放模式设置为.aspectFill,这对iPhone非常有效,但不适用于iPad。
但是.resizeFill运行良好,所以这就是我所做的。
if UIDevice.current.userInterfaceIdiom == .pad {
scene.scaleMode = .resizeFill
}else{
scene.scaleMode = .aspectFill
}