我正在开发一个具有多个视图和根视图控制器的应用程序。它基于使用pushViewController的UINavigationController: 在didFinishLaunchingWithOptions中:
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 :(得分:0)
你不能做你所描述的。 iOS 6不支持强制 UINavigationController的不同子视图控制器进行旋转。他们可以以不同的方式响应设备轮换,但不能强制旋转。