带导航控制器的iOS6方向

带导航控制器的iOS6方向

问题描述:

我正在开发一个具有多个视图和根视图控制器的应用程序。它是基于UINavigationController的使用pushViewController: 在didFinishLaunchingWithOptions:带导航控制器的iOS6方向

BIDLoginController *loginController = [[BIDLoginController alloc] initWithNibName:@"Login" bundle:nil]; 
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:loginController]; 
[self.window setRootViewController:self.navController]; 

在LoginController中:

BIDMainPageController *mainPageController = [[BIDMainPageController alloc] initWithNibName:@"MainPage" bundle:nil]; 
[self.navigationController pushViewController:mainPageController animated:YES]; 

但视图控制器的UIViewController的子类,不UINavigationController的。现在我想要一些支持方向(肖像和风景)的视图,其中一些仅支持肖像。我曾尝试以下方法:

- (BOOL)shouldAutorotate 
{ 
    return NO; 
} 

- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskPortrait; 
} 

它不起作用。 shouldAutorotate:方法从未被调用。我试过UINavigationControllerDelegate,但没有结果。当我将这些视图控制器的超类从UIViewController更改为UINavigationController时,视图不显示,仅显示导航栏。有人能帮忙吗?

+0

[iOS6中的Unsupport Orientation]的可能重复(http://stackoverflow.com/questions/16469651/unsupport-orientation-in-ios6) – matt

你不能做你所描述的。 iOS 6不支持强制 UINavigationController的不同子视图控制器旋转。他们可以响应不同于设备旋转,但他们不能强迫旋转。