iPhoneでの通話後にメインビューに戻る

私はアプリで中断が発生したときにこれを使用する必要があることを知っています。

- (void)applicationDidBecomeActive:(UIApplication *)application

しかし、私は、アプリケーションが再びアクティブになったときに、以前に開いたビューコントローラをすべて破棄して、メインビューコントローラを提示する方法はありますか?

0

1 答え

これはお使いのアーキテクチャによって異なる場合があります。 UINavigationControllerを使用してビューを管理する場合、その上で popToRootViewController を呼び出してナビゲーションスタックからすべてを押してルートビューに戻すことができます(プロパティやその他のものを維持する必要があります)アプリケーションデリゲート)。モーダルビューを開いている場合は、現在アクティブなモーダルダイアログ(存在する場合)を含むアプリケーションデリゲートのプロパティを保持することができます。

ただし、 applicationDidBecomeActive:は、アプリケーションがバックグラウンドに置かれたとき(ユーザーがその間に別のアプリを利用したためなど)に呼び出され、ユーザーはアプリに戻ります)ので、ルートビューに戻ることは、ユーザーが期待するものとは異なるものかもしれません。

0
追加された
私はモーダルビューを使用します。私のアプリケーションデリゲートにプロパティを維持することによって、どういう意味ですか?
追加された 著者 Snowman,
あなたのアプリケーションデリゲートにプロパティを配置し、モーダルダイアログを表示するたびに、そのプロパティをモーダルビューに設定します。ビューが終了するたびに、そのプロパティをnilに再度設定します。モーダルビューの1つだけがいつでも表示されるようになりましたので、常に現在表示されているビューへの参照を常に持ち、適切に閉じることができます。
追加された 著者 Dennis Bliefernicht,