【问题标题】:ios6 view controller autorotateios6 视图控制器自动旋转
【发布时间】:2012-09-28 16:17:12
【问题描述】:

我最近在应用商店发布了一个应用,在开发它时,在 iOS 5 上,自动旋转运行良好,正如我所愿。当它在应用商店发布时,我下载了它以确保版本正常工作,但这次是 iOS 6,自动旋转全都搞砸了。

经过一番搜索,我发现他们弃用了shouldAutorotateToInterfaceOrientation 函数。所以我尝试使用新的supportedInterfaceOrientationsshouldAutorotate,但没有任何运气。有谁知道如何解决这个问题,以便我的旋转正常工作。我希望特定屏幕只能是纵向的,而有些屏幕可以同时显示横向和纵向,这与 shouldAutorotateToInterfaceOrientation 配合得很好,我需要一种适用于 iOS 6 的新方法。

提前感谢您的帮助!

【问题讨论】:

  • 你应该很幸运,你确定你返回了正确的值吗?请注意,您不应使用 UIInterfaceOrientationLandscape/Portrait,而应使用 UIInterfaceOrientationMaskLandscapeRight 以及从 iOS 6 开始可用的那些。
  • 这是 iOS 6 的常见问题,我不确定是否有人完全弄清楚了。
  • 我还没有尝试过使用掩码版的uiinterface,我会尝试并尽快提供更新

标签: iphone ios ios6 autorotate


【解决方案1】:

在您的应用委托中,您是否将导航控制器的视图添加为 self.window 中的子视图?如果是这样,我发现这在 iOS 版本 6 中无法正常工作。您应该设置 self.window 根视图控制器。以下是更多细节:

http://www.dosomethinghere.com/2012/09/24/the-app-delegates-uiwindow-is-finicky/

【讨论】: