在我看来,这在iOS9中不再起作用了。这是根据我的SO研究强制改变方向的事实上的方法。它现在冻结了我的SpriteKit游戏。
只是我,如果不是,是否有人知道另一种选择?
编辑:Portrait和UpsideDown仍然有效。似乎只有横向模式现在导致冻结
编辑2:实际上我认为你可以去肖像< - > UpsideDown和LandscapeLeft< - > LandscapeRight,但不在它们之间
答案 0 :(得分:16)
添加到Alex的答案:我的经验是Apple只阻止了不需要全屏的iOS9 iPad的方向更改。因此,如果您告诉应用程序需要全屏,则轮换应该有效:
但是,我不知道它是否会解决你的SpriteKit冻结,因为根据我的经验,iOS9也引入了大量的SpriteKit错误。
答案 1 :(得分:2)
你是对的。在iOS 9上无法设置设备方向。我认为这是因为iPad上的新分屏模式。现在屏幕上可以同时存在2个应用程序,一个应用程序决定允许哪个方向“不公平”。想象两个强制不同方向的应用程序会发生什么?我认为Apple一般都禁止它,即使它们可以限制iPad非全屏应用程序
答案 2 :(得分:1)
如果您有两个或更多ViewControllers,并且您希望每个ViewControllers具有不同的方向,我认为强制VC方向的最佳方法是使用以下代码:
let value = UIInterfaceOrientation.LandscapeLeft.rawValue
// let value = UIInterfaceOrientation.Portrait.rawValue
UIDevice.currentDevice().setValue(value, forKey: "orientation")
它适用于iOS 9。