繁体   English   中英

UIViewController中的中心SKView:Swift

[英]Center SKView in UIViewController: Swift

我正在使用以下代码在视图控制器上加载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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM