2016-08-24 26 views
1

我目前正在构建一个不能在某个时间点旋转的应用程序,因此我不幸地忽略了我的视图控制器的shouldAutorotate()方法,而我可以防止在iPhone上旋转,但它不会影响仍在旋转的iPad !为什么shouldAutorotate()不影响iPad,而它可以在iPhone上使用?

只是为了您的信息,这里是代码:

override func shouldAutorotate() -> Bool { 
    return false 
} 

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { 
    if UIDevice.currentDevice().userInterfaceIdiom == .Phone { 
     return .AllButUpsideDown 
    } else { 
     return .All 
    } 
} 

你知道什么是错的? supportedInterfaceOrientations()干扰shouldAutorotate()

谢谢!

回答

1

检查info.plist,并在其中应该有Supported interface orientationsSupported interface orientations (iPad)检查,以确保在iPad上支持的方向是你希望他们(同iPhone我假设)

+0

哎呀,很抱歉永远不会有什么回答你!那么,从我记得我所遇到的问题来看,问题是,自iOS的新版本以来,你无法像以前那么容易地做到这一点! (因为现在调整大小和旋转工作有所不同,部分原因是因为分割视图!) –

+0

@TrevörAnneDenise你解决了这个问题吗?如果你这样做了,你应该为有此问题的其他人添加一个答案 – Nik

+0

这是针对使用加速度计的游戏,所以如果我是对的,根据Apple UX指南,这是罕见的情况之一,你可以允许自己选择-out for split view,但我还没有时间回到那个问题呢!所以我会尽快解决它。 –

相关问题