我使用下面的代码在视图控制器上加载一个SKView。然而,当你第一次加载应用程序的按钮,标签等,在场景中显示在最左下角。但是,在游戏中,当你回到现场,它的中心,我怎么能解决这个问题?
import UIKit
import SpriteKit
class ViewController: UIViewController {
override func loadView() {
self.view = SKView()
}
override func viewDidLoad() {
super.viewDidLoad()
let scene = StartScene(size: view.bounds.size)
let skView = view as! SKView
skView.ignoresSiblingOrder = true
scene.scaleMode = .resizeFill
skView.presentScene(scene)
}
override func prefersStatusBarHidden() -> Bool {
return true
}
}发布于 2016-07-08 22:08:09
我建议将代码从viewDidLoad移到
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
let scene = StartScene(size: view.bounds.size)
let skView = view as! SKView
skView.ignoresSiblingOrder = true
scene.scaleMode = .resizeFill
skView.presentScene(scene)
}每当视图重新定位或调整大小时,都会调用viewDidLayoutSubviews。
https://stackoverflow.com/questions/38274567
复制相似问题