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