我希望我的应用程序中有几个视图控制器在iOS 6.0中不旋转。
以下是我为使iOS 6中的旋转成为可能所做的内容:
1.) 在application:didFinishLaunchingWithOptions:中设置窗口的rootViewController。
1.) 在application:didFinishLaunchingWithOptions:中设置窗口的rootViewController。
self.window.rootViewController = self.tabBarController;
2.) 在我的目标(在XCode中)中设置“支持的界面方向”,以便我可以使用所有方向
3.) 实现了新的iOS 6.0旋转功能
- (BOOL) shouldAutorotate {
return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
4.) 由于某些原因,我创建了一个子类化的UINavigationController,并实现了一些新功能,并在原有的NavigationController之上使用了这个新的NavigationController。
到目前为止,一切都很好,所有的视图控制器现在都能够旋转到任何方向。现在我想让几个视图控制器保持竖屏不旋转。但是当我在这些特定的视图控制器中设置新的旋转方法时,它仍然会旋转到任何方向:
- (BOOL) shouldAutorotate {
return NO;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskPortrait;
}
同时设置navigationController的旋转功能并不会改变任何东西。(所有的视图控制器都可以旋转到任何方向)
我做错了什么?
编辑:
同时设置首选接口方向也不会改变任何东西:
- (UIInterfaceOrientation) preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationMaskPortrait;
}