【发布时间】:2014-04-17 14:09:06
【问题描述】:
我正在开发的应用程序有问题,如下所示:
应用程序的窗口有一个rootViewController,它设置为UIViewController 的自定义类(MenuViewController)。这个视图控制器有一个自己的rootViewController 属性。无论何时设置都会发生这种情况(代码的真正简短版本):
- (void)setRootViewController:(UIViewControlelr *)rootViewController
{
...
_rootViewController = rootViewController;
if (self.rootViewController) {
[self addChildViewController:rootViewController];
[self.view addSubview:rootViewController.view];
}
...
}
现在这个MenuViewController 可以在它的rootViewController 之上显示一个模态视图控制器。
我是这样做的:
[self.rootViewController presentModalViewController:viewController animated:YES completition:nil];
到这里为止,一切看起来都还不错。现在在 iPad 上,每当我从模态视图控制器调用 [self.presentingViewController dismissViewControllerAnimated:YES completion:nil] 时,它下方的界面都会旋转到相同的方向(即UIInterfaceOrientationLandscapeLeft),而不管视图控制器出现时的初始方向是什么。
总之,我的视图层次结构是这样的:
Window
|
- Menu View Controller
|
- Root View Controller
|
- Modal view controller
有谁知道我该如何解决这个问题?它不会发生在 iPhone 上。
【问题讨论】:
标签: ios objective-c ipad modalviewcontroller interface-orientation