【问题标题】:iOS6 Orientation with NavigationController带有 NavigationController 的 iOS6 方向
【发布时间】:2013-05-17 16:47:07
【问题描述】:

我正在开发一个具有多个视图和一个根视图控制器的应用程序。它基于 UINavigationController 使用 pushViewController: 在 didFinishLaunchingWithOptions 中:

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

在登录控制器中:

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 时,视图不显示,只显示导航栏。有人可以帮忙吗?

【问题讨论】:

标签: ios6 uinavigationcontroller orientation pushviewcontroller autorotate


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多