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