我使用以下代码在我的应用程序 View 的左上角放置了一个节点:
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 和 iPad,是否有不同的方法在 View 上定位节点而不是使用多个 View ?
最佳答案
已解决:
问题是场景 scaleMode 被设置为 .aspectFill,这对 iPhone 非常有用,但对 iPad 却不行。
但是 .resizeFill 工作得很好,所以这就是我所做的。
if UIDevice.current.userInterfaceIdiom == .pad {
scene.scaleMode = .resizeFill
}else{
scene.scaleMode = .aspectFill
}
关于ios - Swift SKSpriteNode 位置 iPhone V iPad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43312844/