ViewController 在 iOS6 上不旋转
Posted
技术标签:
【中文标题】ViewController 在 iOS6 上不旋转【英文标题】:ViewController not rotating on iOS6 【发布时间】:2012-10-03 17:47:06 【问题描述】:我的大部分应用程序不支持轮换。在支持的方向上,我只选择了肖像。在应用程序使用的 UIViewController 子类上,我有这个:
-(BOOL)shouldAutorotate
return NO;
-(NSUInteger)supportedInterfaceOrientations
NSLog(@"supported?");
return UIInterfaceOrientationMaskPortrait;
-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
NSLog(@"preferred");
return UIInterfaceOrientationPortrait;
在支持方向的 UIViewController 子类中,我有这个:
-(BOOL)shouldAutorotate
return YES;
-(NSUInteger)supportedInterfaceOrientations
NSLog(@"supported?");
return UIInterfaceOrientationMaskAll;
-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
NSLog(@"preferred");
return UIInterfaceOrientationPortrait;
但是,我的应用程序不会在任何视图上旋转,包括这个。怎样才能让它按我的意愿在这里旋转?
【问题讨论】:
您是否将所有方向添加到 Info.plist 中支持的方向? 不,我只选择了肖像作为支持的方向。如果我启用横向,它只会在每个视图控制器上旋转到横向。 你有导航控制器吗? 你应该支持你的应用程序使用的所有方向。所以问题应该是为什么你的视图控制器旋转到横向。 @rooster117 是的。 DrummerB - 好的,所以如果它设置为打开,我如何阻止它在某些视图上旋转到横向? 【参考方案1】:如果您使用的是导航控制器,请确保在您的 App Delegate 中执行此操作:
self.window.rootViewController = self.navigationController;
有关其他参考资料,请从 SO 中查看此问题:
Rotation behaving differently on ios6
【讨论】:
这应该可以解决您的问题。前几天我花了几个小时试图解决这个问题,很高兴最终我能够在我的应用程序委托上用这条线解决它。以上是关于ViewController 在 iOS6 上不旋转的主要内容,如果未能解决你的问题,请参考以下文章
iOS6 xib 错误“加载了“ViewController”笔尖,但未设置视图出口。'”
应用程序在 iOS 6 上运行但在 iOS 5 上不运行 [重复]
在 iOS 6 上不推荐使用 groupTableViewBackgroundColor 吗?