4

私のアプリでは、いくつかのローカル通知をキューに入れています。それらが起動すると、モーダル ビューを表示する必要があります。問題は、現在アクティブになっている可能性のあるView Controllerが多数あるため、モーダルView Controllerを提示する必要があることです。どちらが現在使用されているかを確認するにはどうすればよいですか?

ナビゲーション コントローラーを Windows ルート ビュー コントローラーとして設定しています。これにより、任意の数の他のビュー コントローラーをプッシュできます。そのうちのいくつかは、現在、別のビュー コントローラーをモーダルに提示している可能性があります。これは、iOS 4 および 5 で動作する必要があります。

私はたくさんのView Controllerを持っているので、それらが現在一番上にあるかどうかをチェックするために、それぞれにコードを入れないようにしたいと思います。

4

2 に答える 2

9

ナビゲーション コントローラーのtopViewControllerプロパティを調べて、どのコントローラーがスタックの一番上にあるかを確認できます。これは、ビューが表示されるものになります。

visibleViewControllerモーダル ビュー コントローラーも提示している可能性があるため、モーダルに提示されているか、ナビゲーション スタックにプッシュされているかに関係なく、現在のビューのコントローラーを提供するプロパティに関心があるでしょう。

于 2012-06-29T03:23:05.330 に答える
0

最後にプッシュされた ViewController へのポインターを格納する変数を作成します。新しい ViewController をプッシュするたびに、この変数を更新してください。そうすれば、どちらが一番上にあるかを常に知ることができます!

于 2012-06-29T03:23:35.177 に答える