問題を解決するには2つのソリューションがあります。
マスターパネルからモーダルビューを提示することは理想的ではありませんが、あなたがUISplitViewController自体からそれをやるべき。
splitViewController.preferredDisplayMode =UISplitViewControllerDisplayModeAllVisible; // For displaying the master panel always as is in the screen shot in the Question
modalViewController.modalPresentationStyle = UIModalPresentationFormSheet; // For displaying the modalViewController in form sheet style
[splitViewController presentViewController:modalViewController animated:TRUE completion:nil]; // Note: modalViewController is presented from UISplitViewController and not from master panel of split view
ポートレートモードでそうデバイスの回転変化がpopovercontroller介して行かなければならないときにこぼれたビューのマスターパネルは、ポップオーバーに提示されています。私はこの時点でチェーンブレイクを推測しています。だから、モーダルプレゼンテーションセグエは(prepareForSegue
から)と呼ばれる前に、問題のコール
[spliVC setPreferredDisplayMode:UISplitViewControllerDisplayModePrimaryHidden];
を解決します。代理人がこのアプローチで作業しているかどうかはわかりません。
編集:私はまた、分割ビューがUISplitViewControllerDisplayModeAllVisible
モードであれば、その後も、マスターパネルからモーダルのVCを提示することを観察した (ストーリーボードで簡単なモーダルセグエによって言うことができます)回転の問題を与えるものではありません。私はiOS 9.3シミュレータでこれを確認しました。
出典
2016-08-04 15:40:39
SHN