У меня недавно возникла проблема с этим приложением, с которым я столкнулся, пытаясь сделать универсальную и портретную ориентацию приложения (предыдущая версия была только на iPhone). Теперь приложение откроется в портрете и будет выглядеть правильно, но оно все еще находится в портрете, когда устройство повернуто.SpriteKit GameScene Rotation Bug
Это в настоящее время весь код у меня есть для поворота устройства (который работает):
override func shouldAutorotate() -> Bool {
return true
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
return .AllButUpsideDown
} else {
return .All
}
}
Однако это только вращает устройство, а не фактическое GameScene, в течение которого моя игра содержатся. Если приложение запускается с рабочего стола с ландшафтом, игра останется в ландшафте.
В целях тестирования я могу завершить работу и перезапустить приложение с рабочего стола симулятора, и игра будет работать отлично до тех пор, пока устройство не будет повернуто.
Как я могу представить GameScene в правильной ориентации?
Вы представляете 'skView' в' viewDidLoad' или 'viewWillLayoutSubviews'? – TonyMkenu
Я использую 'viewDidLoad', я попытался переключить его на' viewWillLayoutSubviews'. Он работал отлично, возможно, через полсекунды, а затем разбился, и я снова вернул его в 'viewDidLoad'. –