ios - 居中 SKView 在 UIViewController : Swift

标签 ios swift uiviewcontroller sprite-kit skview

我正在使用以下代码在 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/

相关文章:

ios - 方案的 Cocoapods 优化级别

ios - UISplitView 导航栏后面奇怪的背景

ios - 将 UITableView 与 Storyboard一起使用,但使用单独的数据源

ios - 使用 AudioKit 捕获系统或应用程序音频

ios - 当方向改变时,如何防止 View Controller 旋转一个 View ?

ios - 连接到已经初始化的 View Controller

iphone - 我需要在应用程序购买收据中验证 iPhone 吗?

iphone - UITableView contentOffSet 无法正常工作

ios - swift 锁匠 : fatal error: unexpectedly found nil while unwrapping an Optional value

iOS - 为多个 uilocalnotification 打开多个相同的 View Controller