セグエの違いは何ですか:「表示」、「詳細を表示」、「モーダルに表示」、「ポップオーバーとして表示」?[閉まっている]


90

Xcode 6ではさまざまなセグエが何をしますか?



おかげで、それは私が探していたものです


回答:


173

1.表示-宛先ビューコントローラーをナビゲーションスタックにプッシュし、ソースビューコントローラーを邪魔にならないように移動し(宛先が右から左に上にスライドします)、すべてのデバイスでソースに戻るための戻るボタンを提供します。

例:メール内の受信トレイ/フォルダーのナビゲート。

2.詳細の表示-UISplitViewControllerで、前のView Controllerに戻る機能がない場合に、詳細/セカンダリViewControllerを置き換えます。

例:横向きのiPadのメールで、サイドバーのメールをタップすると、右側のビューコントローラーが置き換えられて新しいメールが表示されます。

3.モーダルで表示-プレゼンテーションオプションで定義されたさまざまな方法でビューコントローラーを表示し、前のビューコントローラーを覆い隠します-最も一般的には、下からアニメーション化してiPhoneの画面全体を覆うビューコントローラーを表示するために使用されますが、 iPadでは、下にあるビューコントローラを暗くする中央のボックス形式で表示するのが一般的です。

例:iPhoneのカレンダーで[+]ボタンをタップします。

4.ポップオーバープレゼンテーション-iPadで実行すると、目的地は小さなポップオーバーに表示され、このポップオーバーの外側をタップすると、それが閉じられます。iPhoneでは、ポップオーバーもサポートされていますが、デフォルトでは、ポップオーバープレゼンテーションセグエを実行すると、宛先のビューコントローラーが全画面にモーダルで表示されます。

例:iPad(またはiPhone、実際のポップオーバーではなくフルスクリーンプレゼンテーションに変換されることに気付いた場合)のカレンダーで[+]ボタンをタップします。

5.カスタム-独自のカスタムセグエを実装し、その外観と遷移を完全に制御できます。


詳細を表示このメソッドのデフォルトの実装では、targetViewController(forAction:sender :)メソッドを呼び出して、このメソッドをオーバーライドするビューコントローラー階層内のオブジェクトを検索します。次に、そのターゲットオブジェクトのメソッドを呼び出します。これにより、ViewControllerが適切な方法で表示されます。targetViewController(forAction:sender :)メソッドがnilを返す場合、このメソッドはウィンドウのルートビューコントローラーを使用してvcをモーダルに表示します。
ゲーレン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.