【发布时间】:2016-01-21 21:52:29
【问题描述】:
我最近在尝试使应用程序通用和纵向时遇到了这个应用程序的问题(以前的版本仅在 iPhone 上是横向的)。现在应用会以纵向打开并且看起来正确,但是当设备旋转时它仍然是纵向的。
这是目前我用于旋转设备的所有代码(有效):
override func shouldAutorotate() -> Bool {
return true
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
return .AllButUpsideDown
} else {
return .All
}
}
但是,这只会旋转设备,而不是包含我的游戏的实际 GameScene。如果应用从横向主屏幕启动,游戏将保持横向。
出于测试目的,我可以从模拟器主屏幕退出并重新启动应用程序,游戏将再次完美运行直到设备旋转。
如何始终以正确的方向呈现 GameScene?
【问题讨论】:
-
您在
viewDidLoad或viewWillLayoutSubviews中展示skView? -
我使用
viewDidLoad,我尝试将其切换为viewWillLayoutSubviews。它完美地运行了大约半秒钟然后崩溃了,所以我再次将其改回viewDidLoad。
标签: ios swift screen-orientation device-orientation