1

ストーリーボード ボード (xcode) に iPad アプリケーションがあり、いくつかの個別のビュー コントローラーがあります。モーダルセグエを使用して相互に移行するようにセットアップする必要があります。セグエを実行した後にviewcontrollersを削除するのに最適な方法は何だろうと思っていました。セグエが成功した後、前のView Controllerを閉じる必要がありますか? もしそうなら、どの方法が最適ですか?

4

1 に答える 1

2

ベース ビュー コントローラー A がビュー コントローラー B をモーダルとして表示し、モーダル C を表示する必要がある場合は、C を表示する前にモーダル B を閉じる必要があります。これは、モーダル B のタスクが C のユーザー アクションの結果に依存しないことを前提としています。

B を却下してから C を提示するまでの間は、次のようにスムーズに移行できます。

// instantly dismiss B (or whichever is showing)
[self dismissModalViewControllerAnimated:NO];
// show the other modal with your existing segue
[self performseguewithidentifier@"c_segue"];

UIデザインの観点から、モーダルは、ユーザーが別のView Controllerでタスクを実行しているときに処理する必要がある中断/相互作用用です(あなたの場合はA)。モーダル B でのインタラクションが別の中断を必要とする場合 (B がモーダルとして C を提示する必要があることを意味します)、UI 設計を調べて、実行していることが最善のアプローチであるかどうかを確認します。

実際にビューを移動している場合(これ以上 A を使用したくない場合)、モーダルは間違いなく間違った選択です。おそらく、replace seque を実行するか、ContainerView を調べて、View Controller のスワップ アウトを管理することをお勧めします。

于 2013-03-14T15:35:05.460 に答える