我在 ios 6 中创建了一个带有导航视图的应用程序。我还在应用程序摘要中设置了所有方向选项,甚至使用了
-(BOOL) shouldAutoRotate
和
-(NSUInteger) supportedInterfaceOrientaion
我的视图控制器中的方法。当我运行我的应用程序时,方向工作正常,除了颠倒。我应该怎么做才能支持颠倒。
添加 UITabBar 控制器时,我也面临同样的问题。
请分享你的想法。
谢谢
我在 ios 6 中创建了一个带有导航视图的应用程序。我还在应用程序摘要中设置了所有方向选项,甚至使用了
-(BOOL) shouldAutoRotate
和
-(NSUInteger) supportedInterfaceOrientaion
我的视图控制器中的方法。当我运行我的应用程序时,方向工作正常,除了颠倒。我应该怎么做才能支持颠倒。
添加 UITabBar 控制器时,我也面临同样的问题。
请分享你的想法。
谢谢
海我找到了解决我的问题的方法
解决方案: 对于包含 UINavigation 控制器的应用程序,我只是为 UINavigation 控制器类创建了一个类别,并定义了这些方法
-(BOOL) shouldAutorotate{
return YES;
}
-(NSUInteger) supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
添加后,我的应用程序支持所有方向。
同样,我也为 UITabBar 控制器做了。通过为 UITabBar 控制器创建类别,这也对我有用。
谢谢你。
电话应用程序传统上不支持倒置(为什么要将手机倒置?) - 默认项目将支持纵向和横向选项,但不支持倒置。
在 Xcode 的项目信息查看器中更改它,你应该没问题。有支持的方向的可视化表示,倒置将被取消选择。
我认为 NSUserDefault 的解决方案是不完整的:
来自:https ://developer.apple.com/library/ios/qa/qa1688/_index.html
注意:在修改 UIKit 类(如 UINavigationController)的旋转行为时,您应该始终喜欢子类化而不是类别。因为其他类可能依赖于 UIKit 容器视图控制器的现有行为,一个类别引入的更改可能会导致意外行为。
所以我认为最好的解决方案是创建一个子类并添加:
-(BOOL) shouldAutorotate{
return YES;
}
-(NSUInteger) supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}