0

ここに画像の説明を入力

図からわかるように、viewController 間のメニューとして機能する右側の viewController に 2 つの viewController を接続しようとしています。

アプリが最初に実行されると、最初のビュー コントローラーが一番上に読み込まれます。ボタンはメニューをモーダルに表示し、押されたボタンに応じて (さらに追加する予定です)、対応する viewController が表示されます。VC2が最初に押されると、2番目のviewControllerがロードされますが、メニューが再度呼び出されてVC2が押されると、View Controllerをリロードする代わりに巻き戻したいです。

最初のviewControllerに巻き戻すことができましたが、2番目のviewControllerに巻き戻そうとすると、アクションは無視されます。どうぞよろしくお願いいたします。ありがとうございました。

4

1 に答える 1

0

目的の宛先 VC がナビゲーション コントローラー スタックに保持されないため、以前に提示されていないビューコントローラーに巻き戻すことはできません。アンワインド セグエは、ナビゲーション履歴のいくつかのステップを「ポップ」するように設計されています。あなたのシナリオでは、使用可能な唯一のポップは VC1 です。

UINavigationController オブジェクトがこの動作をほとんど手間をかけずに提供できることを考慮して、「メニュー」の概念を確認することもできます。また、目的を達成するために 2 つの個別の UINavigationController オブジェクトは必要ありません。

これを行うには、メニュー VC を UINavigationController のルート ビュー コントローラーとして接続し、メニュー ボタンを VC1 と VC2 に接続します。その後、3 つの画面間を簡単に移動できるようになります (以下の例を参照)。

ここに画像の説明を入力

于 2015-12-16T05:57:34.047 に答える