我正在开发的应用程序有问题,如下所示:
应用程序的窗口有一个rootViewController
设置为自定义类 ( MenuViewController
) 的UIViewController
。这个视图控制器有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 上。