私が理解していることから、あなたはマスターをポートレートビューで見ることができるようにしたいと思っています。
UISplitViewControllerのデザインは、特にポートレートモードでマスタービューを非表示にします。
ここで状況を解決するには2つの方法があります。まず、ViewControllerコントローラーをUISplitViewControllerDelegateとして宣言します。(どのビューコントローラーをデリゲートとして使用しますか?スタックに残っているもの-マスターか詳細かを判断するために)。
次に、いくつかのデリゲートメソッドを確認します。
まっすぐにしたい場合は、次のデリゲートメソッドでマスターをポートレートモードで表示します。
- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
NOを返します(ビューコントローラーを非表示にしたくない場合もあります)
デフォルトでは、これは横向きの場合はnoであり、これが両方のビューを表示する理由です。縦向きの場合はyesであるため、マスターは表示されません。
そうは言っても、より洗練された解決策は、マスタービューを非表示にして、ナビゲーションバーの上部にボタンを配置することです。ボタンをクリックすると、マスターがポートモードで表示されます。マスタービューの外側をクリックすると、マスターは非表示になります。
これを行うには、上記のBOOLメソッドを使用せず、代わりに次の2つのデリゲートメソッドを実装します。
– splitViewController:willHideViewController:withBarButtonItem:forPopoverController:
– splitViewController:willShowViewController:invalidatingBarButtonItem:
UISplitViewControllerDelegateのドキュメントを検索します。