我使用以下代码在我的应用程序的视图左上角放置了一个节点:
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加.
但是,它不会出现在任何iPad模拟器中.我把位置设置为midX和midY,看起来很好,只是没有上面显示的代码适用于所有iPhone.
我错过了什么?
是否有不同的方法在iPhone v iPad的视图上定位节点而不是使用多个视图?
最佳答案 解决了:
问题是场景scaleMode被设置为.aspectFill,这对iPhone而言并不适用于iPad.
然而.resizeFill工作得很好,所以这就是我所做的.
if UIDevice.current.userInterfaceIdiom == .pad {
scene.scaleMode = .resizeFill
}else{
scene.scaleMode = .aspectFill
}