我的uiviewcontroller.m文件中有以下代码:
-(BOOL)shouldAutoRotate
{
return YES or NO;
}
我已尝试过YES和NO但我的视图控制器仍在旋转?我使用的是iOS 7,我发现的其他iOS解决方案也不适用于我。
答案 0 :(得分:8)
可能是因为您的控制器在视图层次结构中实例化为UINavigationController
的子级。如果想要旋转子控制器,UINavigationController
不会查询子控制器。
我有同样的问题;我想禁用自动旋转,因此特定UINavigationController
的所有层次结构都锁定在纵向中。我以这堂课结束了:
@implementation FixedOrientationNavigationController
- (BOOL)shouldAutorotate {
return NO;
}
@end
我把故事板中的UINavigationControllr类替换为我需要锁定Portrait的层次结构。就这一点,我不需要在每个控制器中实现shouldAutorotate
。
你也可以查看这个链接:Orientation Respectful UINavigationController,它试图实现“方向尊重”的UINavigationController。 它可以工作,但在某些情况下会导致奇怪的结果,例如,当用户旋转到Landscape然后返回到仅支持Portrait的控制器时。
答案 1 :(得分:0)
您也可以通过单击项目名称然后选择常规来设置方向,在此处可以设置所需的方向和设置 - (BOOL)shouldAutorotate { 返回NO; } 希望你有。