私が取り組んでいるアプリに次のような問題があります。
アプリのウィンドウには、rootViewController
のカスタム クラス ( MenuViewController
) に設定された がありUIViewController
ます。このView Controllerには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では発生しません。