我怎么知道为什么我的UIViewController正在消失?

时间:2011-12-05 22:54:47

标签: ios uinavigationcontroller

我的UIViewController位于导航堆栈中。如何检测用户何时尝试弹出以前的级别而不是将新的视图控制器推到其上?

我想在视图从堆栈中删除时发布通知,就像用户点击了我没有的保存按钮一样。

2 个答案:

答案 0 :(得分:3)

如果您使用的是UINavigationController,则UINavigationBarDelegate是委托类,它会实现以下方法。

推送物品

– navigationBar:shouldPushItem:
– navigationBar:didPushItem:

弹出物品

– navigationBar:shouldPopItem:
– navigationBar:didPopItem:

当从堆栈中弹出视图时,您可以将代码放在要执行的这些方法中。

答案 1 :(得分:2)

您可以在viewWillDisappear:中执行某些操作,并且还有UINavigationControllerDelegate protocol有两种方法可以检测何时或将显示视图。