UIViewControllerがモーダルで表示され、却下されたかどうかを知る方法はありますか?UIViewControllerがモーダル表示されているかどうかを知る方法はありますか?
のような何か:
- hasBeenPresentedModally
- hasBeenDismissedModally
おかげ
UIViewControllerがモーダルで表示され、却下されたかどうかを知る方法はありますか?UIViewControllerがモーダル表示されているかどうかを知る方法はありますか?
のような何か:
おかげ
で構築されたものが、ビューコントローラ可能性がApple's documentation(強調追加)あたりから、viewDidAppear
および/またはそれがparentViewController
を持っているかどうかをviewWillDisappear
チェックを受けて、ありません:
親ビューコントローラがナビゲーションに関連する
、タブバー、およびモーダル コントローラの階層を表示します。これらの各階層では、親の が、現在のView Controllerを表示するオブジェクトです。 ビューコントローラーをスタンドアロンオブジェクトとして使用している場合(つまり、ビューコントローラー階層の一部として でない場合)、このプロパティーの値は です。
将来の参照のために適切なフラグを設定できます。
モーダルで表示されることは、本当にモーダルであることとは異なります。たとえば、iPadの場合はコントローラをUIPopoverController
の中に入れて、コントローラがモーダルに表示されないようにしますが、別のコントローラをモダリティ上に表示することもできます。したがって、2番目のコントローラはモーダルで表示されますが、プログラム自体が適切に設定されていれば、ユーザーはポップオーバーを完全に無視することができるため、モーダルダイアログではありません。
チェックあなたのUIViewControllerのparentViewController
プロパティがnil
であるかどうか。 プロパティがnil
の場合は表示されず、表示されません。
注:UITableViewControllerのchildViewControllerのparentViewController
プロパティもnil
ではないため、parentViewControllerがUITableViewControllerでないことも確認する必要があります。
'viewWillDisappear'が早すぎます。 'viewDidDisappear'は、親がゼロになったかどうかをチェックするのに適しています。 navスタックをポップした後 – qix