pushViewControllerとshowViewControllerの違い 質問する

pushViewControllerとshowViewControllerの違い 質問する

UINavigationController の pushViewController メソッドと showViewController メソッドの違いは何ですか?

ベストアンサー1

ショー セグエはナビゲーション コントローラーで使用でき、スタックに viewController をプッシュするだけです。

詳細表示セグエは分割ビュー コントローラでのみ意味を持ちます。分割ビュー コントローラ内に 2 つの viewController があるため、次の操作を実行できます。

Show segue を使用してビュー コントローラーを表示 (プッシュ、既定のプロジェクトではマスター VC として navigationVC を使用するため) してマスター ビュー コントローラー内を移動し、Show detail segue を使用して詳細ビュー コントローラーの詳細を表示します。Split view controller の構成方法がわからない場合は、次の手順に従ってください。

**************++++++++++++++++++
*            *                 +
*            *                 +
*   master   *      detail     +
*    view    *       view      +
* controller *    controller   +
*            *                 +
*            *                 +
**************++++++++++++++++++

しかし !

iPhoneではこのように表示されます(iPhone6+の横向きは除く)

****************
*++++++++++++++*
*+            +*
*+            +*
*+            +*
*+   detail   +*
*+    view    +*
*+ controller +*
*+            +*
*+            +*
*++++++++++++++*
****************

Showsegueと は両方とも&Show detail segueに新しく追加されたもので、 と呼ばれ、デバイスの種類や向きに応じて動作が異なります。iOS8Xcode6adaptative segues

基本的に、Show segueビュー コントローラーを並べて表示するスペースがあまりないため、iPhone では Show detail segue は同じことを行うようです。

技術的には、ナビゲーションに戻るまで詳細を複数回表示することはありません。マスター ビュー コントローラーのみが詳細表示セグエを実行する必要があり、詳細ビュー コントローラーはナビゲーション ツリーのリーフである必要があります (ただし、ナビゲーション VC をリーフとして使用することは禁止されていません ;) )

それが役に立てば幸い。

おすすめ記事