【发布时间】:2012-09-14 05:41:37
【问题描述】:
我做了一个基于标签的应用程序。什么都不需要在横向模式下,只需要几个视图。它在 iOS5 上运行良好,我对结果非常满意。然而,使用 iOS6 并且没有弄乱任何东西,它现在会旋转所有视图,结果并不好。
因为它是一个基于选项卡的应用程序,所以我需要的横向视图是 modalViews。这样我就不会弄乱标签栏,我只需要在构建选项的“支持的方向”设置中选择肖像并设置:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
关于我想要的风景。
现在在 iOS6 中,这个视图也处于纵向模式,无论如何,即使我旋转设备,它们也不会显示横向模式。同样,如果我允许“支持的方向”上的所有方向,它们都会旋转,无论我在上面的方法中使用什么。
在所有视图中,我都没有选中情节提要上的“使用自动布局”框。
这里有什么帮助吗?
*编辑** 现在我看到了,我在设备上的应用程序运行良好。我已经安装了促销代码,而不是来自 Xcode,只是为了查看我的客户是否有问题。幸运的是,他们不是。但问题仍然存在。
【问题讨论】:
-
表达
shouldAutorotate...实现的更时尚(和正确)的方式是return UIInterfaceOrientationIsLandscape(interfaceOrientation);。 -
请注意,此问题是由使用 Xcode 4.5 构建并在 iOS6 上运行应用程序引起的。如果您在应用商店中的现有应用版本是使用早期版本的 Xcode 构建的,您的客户即使在 iOS6 上也不会看到问题,您也不会使用促销代码
-
@Martin,谢谢。经过几个小时的完全恐慌后,我尝试了促销代码,发现当前版本一切正常。
-
@Marcal:如果上面的代码示例是真实的,请注意第二个 return 永远不会被调用,因为它总是会在第一行返回。
标签: ios xcode autorotate autolayout