Persistent rightBarButtonItem Property of UINavigationItemに書かれていることがやりたくてUINavigationControllerDelegate
のnavigationController:willShowViewController:animated:
を使おうとしたんだけど、navigationController.visibleViewController
がすでに新しい表示先であるviewController
を指してしまってたので直前に表示されていたUIViewControllerを参照できなかった。 ^1
というわけで、push/popの前後のvisibleViewController
を別途参照できるようにサブクラスを作った。
これを使うとnavigationController.outgoingViewController
でpush/popされる直前のUIViewControllerを参照できる。その後は破棄されてしまうだろうからnilを代入してるので、UINavigationControllerDelegateの範囲内でしか使えないと思う。