我正在使用以下代码在 View Controller 上加载 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
}
}
最佳答案
我建议将您的代码从 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 将在 View 重新定位或调整大小时调用
关于ios - 居中 SKView 在 UIViewController : Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38274567/