ナビゲーションコントローラーを使用したXCodeiPadプロジェクトがあります。 UISplitViewControllerをナビゲーションスタックにプッシュするボタンを取得しようとしましたが、次のエラーが発生しました:
スプリットビューコントローラーをナビゲーションコントローラーにプッシュすることはできません
UISplitViewControllerがUINavigationControllerとうまく連携しないことが判明しました。ただし、このボタンをクリックすると、分割ビューコントローラーを表示する必要があります。どうすればよいですか?また、重要なのは、ユーザーがナビゲーションコントローラーに戻ることができるように、戻るボタンを作成するにはどうすればよいですか?
SplitViewControllerを表示するには、setRootViewControllerを使用する必要があります。これは、SplitViewControllerがルートビューコントローラーである必要があるためです。
Appleのドキュメントから:
スプリットビューコントローラは、作成するインターフェイスのルートである必要があります。つまり、UISplitViewControllerオブジェクトからのビューを、アプリケーションのウィンドウのルートビューとして常にインストールする必要があります。分割ビューインターフェイスのペインには、ナビゲーションコントローラ、タブバーコントローラ、またはインターフェイスを実装するために必要なその他のタイプのビューコントローラが含まれる場合があります。
戻るには、setRootViewControllerを使用して前のページに戻る必要があります。 iPhoneアプリをユニバーサルに変換したときにこの問題が発生し、iPhone用のナビゲーションコントローラーとiPadバージョン用のsetRootViewControllerを使用することになりました。うまくアニメートできないので少し残念です 少し混乱せずに 。