UINavigationController
の前のビュー、またはルートビューに戻るときに呼び出されるメソッドはありますか?UINavigationControllerのルートビューに戻るときに呼び出されるメソッドは何ですか?
また、前のビューに戻るために戻るボタンをタップすると、消えていくビュー内のすべてが解放され、その値は親ビューから取り戻せませんか?
UINavigationController
の前のビュー、またはルートビューに戻るときに呼び出されるメソッドはありますか?UINavigationControllerのルートビューに戻るときに呼び出されるメソッドは何ですか?
また、前のビューに戻るために戻るボタンをタップすると、消えていくビュー内のすべてが解放され、その値は親ビューから取り戻せませんか?
viewWillDisappear:animated:
は、ナビゲーションスタックからポップされる前にビューコントローラで呼び出されます。
これは、ユーザーがナビゲーションコントローラで「戻る」と移動するときに行う必要がある操作です。ナビゲーションスタック内の他のコントローラにアクセスするには、(スタックに現在あるすべてのビューコントローラの配列で、ルートビューコントローラはインデックス0)にアクセスします。
ビューコントローラにviewWillAppear
,viewDidAppear
、viewWillDisappear
、viewDidDisappear
を使用できます。これはUINavigationController
とは独立して動作します。
私はviewWillDisappear 'に問題があった:' 'と常にUINavigationController'内部で呼び出されていないメソッドを関連します。 navControllerのdelegateに 'navigationController:willShowViewController:animated:'を実装させ、表示されているView Controller上でカスタムメソッドを呼び出すことをお勧めします。 –
UINavigationControllerには2つのデリゲートメソッドがあります。たぶん、彼らはあなたを助けるでしょう:
navigationController:willShowViewController:animated: navigationController:didShowViewController:animated:
'viewWillDisappear:'に問題があり、関連するメソッドが 'UINavigationController'の中で常に呼び出されるとは限りません。 navControllerのdelegateに 'navigationController:willShowViewController:animated:'を実装させ、表示されているView Controller上でカスタムメソッドを呼び出すことをお勧めします。 –
ナビゲーションコントローラのスタックに興味があります。しかし、例として、View Controllerのインデックス3を呼び出してインデックス2に戻ると、私が作成してtrueに設定したboolの値は失われますか?それとも、親ビューに戻った後も引き続き検索できますか?あるいは、子ではなく、親からのみ変数を取得できますか? –
上記の方法で親コントローラに渡します。もっと普通のことですが、親ビューコントローラは、新しいコントローラが変更した何らかの種類の「詳細」オブジェクト(管理対象オブジェクトまたは辞書)を渡してしまったため、何かを戻す必要はありません。 – jrturton