簡體   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