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
に新しく追加されたもので、 と呼ばれ、デバイスの種類や向きに応じて動作が異なります。iOS8
Xcode6
adaptative segues
基本的に、Show segue
ビュー コントローラーを並べて表示するスペースがあまりないため、iPhone では Show detail segue は同じことを行うようです。
技術的には、ナビゲーションに戻るまで詳細を複数回表示することはありません。マスター ビュー コントローラーのみが詳細表示セグエを実行する必要があり、詳細ビュー コントローラーはナビゲーション ツリーのリーフである必要があります (ただし、ナビゲーション VC をリーフとして使用することは禁止されていません ;) )
それが役に立てば幸い。