私はアプリで中断が発生したときにこれを使用する必要があることを知っています。
- (void)applicationDidBecomeActive:(UIApplication *)application
しかし、私は、アプリケーションが再びアクティブになったときに、以前に開いたビューコントローラをすべて破棄して、メインビューコントローラを提示する方法はありますか?
ベストアンサー
これはお使いのアーキテクチャによって異なる場合があります。
UINavigationControllerを使用してビューを管理する場合、その上で
popToRootViewController
を呼び出してナビゲーションスタックからすべてを押してルートビューに戻すことができます(プロパティやその他のものを維持する必要があります)アプリケーションデリゲート)。モーダルビューを開いている場合は、現在アクティブなモーダルダイアログ(存在する場合)を含むアプリケーションデリゲートのプロパティを保持することができます。
ただし、
applicationDidBecomeActive:
は、アプリケーションがバックグラウンドに置かれたとき(ユーザーがその間に別のアプリを利用したためなど)に呼び出され、ユーザーはアプリに戻ります)ので、ルートビューに戻ることは、ユーザーが期待するものとは異なるものかもしれません。