2

在我的 UIViewController

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}

-(BOOL) shouldAutorotate {
    return NO;
}

我应该只支持 iOS 6 中的横向方向。但它不起作用。它仍然可以自动旋转。

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

4

2 回答 2

4

找到了解决方案。

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

@interface UINavigationController (autorotate)

@end

@implementation UINavigationController (autorotate)


- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}

-(BOOL) shouldAutorotate {
    return YES;
}

@end
于 2012-09-21T04:18:19.733 回答
3

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

于 2012-09-21T22:03:25.293 回答