私はレガシー アプリケーションで作業しており、view[Will/Did]Disappear
メソッドが常に適切に起動されるとは限らないことがわかりました。
場合によっては、AppDelegate で (カスタム)UIViewController
を rootViewController として設定しています。この rootViewController には、UINavigationController
2 つのビュー コントローラーがプッシュされた があります。ユーザーがホームボタンを押すと、ユーザーはログアウトされます。後でアプリに戻ると、アプリケーションが呼び出され、ログイン用[UINavigationController popToRootViewControllerAnimated:YES]
のモーダルが表示されます。UIViewController
UINavigationController
問題は次のとおりです。通常どおりにプッシュ/ポップすると、viewWillDisappear
メソッドが適切に呼び出されます。しかし、popToRootViewControllerAnimated:
メソッドを使用するviewWillDisappear
と、ポップされたviewControllerのいずれでも呼び出されません。
インターネットで検索しても、考えられる理由は 2 つしかありません。
- UINavigationController をサブビューとして使用する場合は、
view[Will/Did]Disappear
自分自身を呼び出す必要があります - 適切なスーパー メソッドを呼び出していない
私のアプリでは、これらの提案はどれも当てはまりません。そしてどこを見ればいいのかわからない。アプリで何が間違っていたのか、誰か提案がありますか?