在iOS 7中设置方向

时间:2013-09-25 06:41:49

标签: ios uiviewcontroller uinavigationcontroller orientation ios7

我的uiviewcontroller.m文件中有以下代码:

-(BOOL)shouldAutoRotate
{
    return YES or NO;
}

我已尝试过YES和NO但我的视图控制器仍在旋转?我使用的是iOS 7,我发现的其他iOS解决方案也不适用于我。

2 个答案:

答案 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; } 希望你有。