viewWillDisappear is not called when calling popToRootViewControllerAnimated
まぁ、表題の通りなんですが。
UINavigationController
のpopToRootViewControllerAnimated:
を呼んだときに、そのとき表示していたUIViewController
のviewWillDisappear
が呼ばれるのを期待していると、実際には呼ばれないので残念なのことになります。
stackoverflowにも以下のようなスレがありました。
viewWillDisappear not called when calling popToRootViewControllerAnimated
どうもiOSのバグっぽいことが書いてありますね。
対応としては、対象のUIViewController
でwillMoveToParentViewController:
をオーバーライドするとそれで検知できるようです。
引数で渡ってくるUIViewController
がnil
の場合は、popToRootViewControllerAnimated:
された時ということみたいです。