您还应该在应用委托中提供应用支持的方向:
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
return UIInterfaceOrientationMaskPortrait;
}
确保正确添加根视图控制器(不将其添加为子视图),但使用以下内容:
[window setRootViewController:myVC];
此外,如果您的视图控制器位于 a 内UINavigationController
,则应将此类别用于导航控制器:
@implementation UINavigationController (autorotate)
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskPortrait;
}
@end
在 iOS 6 中,只有最顶层全屏控制器的根视图控制器会被询问旋转。这包括UINavigationController
,这个类不询问它的视图控制器,它直接响应。Apple 现在建议子类化UINavigationController
以覆盖supportedInterfaceOrientations's
输出。