在iOS 6中禁用纵向界面

时间:2012-09-21 04:09:20

标签: uiinterfaceorientation ios6

在我的UIViewController中

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}

-(BOOL) shouldAutorotate {
    return NO;
}

我应该只支持iOS 6中的横向定位。但它不起作用。它仍在自动旋转。

如何在iOS 6中修复禁用自动旋转?

2 个答案:

答案 0 :(得分:4)

找到解决方案。

我正在使用带有UINavigationController的viewcontroller。所以,我需要在UINavigationController中更改supportedInterfaceOrientations。

@interface UINavigationController (autorotate)

@end

@implementation UINavigationController (autorotate)


- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}

-(BOOL) shouldAutorotate {
    return YES;
}

@end

答案 1 :(得分:3)

如果整个应用程序仅支持格局,您可以跳过子类并将支持的界面方向设置为Info.plist中的Landscape(左)和Landscape(右)