Ios 在iPhone 6/6plus中,SKScene中的标签未完全左对齐
我正在努力确保标签始终显示在屏幕的左上角,而不管是什么设备 这是我的密码:Ios 在iPhone 6/6plus中,SKScene中的标签未完全左对齐,ios,swift,sprite-kit,skscene,Ios,Swift,Sprite Kit,Skscene,我正在努力确保标签始终显示在屏幕的左上角,而不管是什么设备 这是我的密码: override func didMoveToView(view: SKView) { var screenSize = UIScreen.mainScreen().bounds var screenWidth = screenSize.width var screenHeight = screenSize.height self.scaleMode
override func didMoveToView(view: SKView) {
var screenSize = UIScreen.mainScreen().bounds
var screenWidth = screenSize.width
var screenHeight = screenSize.height
self.scaleMode = SKSceneScaleMode.AspectFit;
self.backgroundColor = SKColor.blackColor()
gameScore = SKLabelNode(fontNamed: "Chalkduster")
gameScore.text = "Score: 0"
gameScore.position = CGPointMake(0, self.frame.size.height)
gameScore.horizontalAlignmentMode = .Left
gameScore.verticalAlignmentMode = .Top
gameScore.fontSize = 48
gameScore.zPosition = 1
addChild(gameScore)
}
在所有iPad系列设备上,它都完美地显示在左侧,但在iPhone 6和6+上,它显示为向右侧缩进约1/2英寸
你知道为什么会这样吗
谢谢 我想回答这个问题,以防像我这样的初学者陷入困境! 请务必阅读纵横比和缩放模式 我有:
self.scaleMode = SKSceneScaleMode.AspectFit;
但它应该是:
self.scaleMode = SKSceneScaleMode.Fill;
从技术上讲,您也不需要,您正在将场景大小设置为视图大小,因此您需要
self.scaleMode=.ResizeFill代码>否则,在应用自动约束之前,场景大小将等于视图大小(这就是为什么它在iPad和iPhone上看起来不同)。使用“调整大小填充”(Resize Fill)时,场景总是与视图的大小相同,因此您不必担心