带导航控制器的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时,视图不显示,仅显示导航栏。有人能帮忙吗?
答
你不能做你所描述的。 iOS 6不支持强制 UINavigationController的不同子视图控制器旋转。他们可以响应不同于设备旋转,但他们不能强迫旋转。
[iOS6中的Unsupport Orientation]的可能重复(http://stackoverflow.com/questions/16469651/unsupport-orientation-in-ios6) – matt