2016-07-08 9 views
1

Я использую следующий код для загрузки SKView на контроллере представления. Однако, когда вы впервые загружаете приложение, кнопки, ярлыки и т. Д. В сцене появляются самые нижние левые. Но в игре, когда вы возвращаетесь на сцену, она сосредоточена, как я могу это исправить?Центр SKView в UIViewController: Swift

импорт UIKit импорт SpriteKit

класс 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 
} 

}

ответ

0

Я предлагаю переместить код из 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 будет называться всякий раз, когда изображение перестраивается или изменяется.

+0

Спасибо. Это прекрасно работало! – Nickolans

+0

Добро пожаловать – Karim