影响UINavigationBar的后退button方法(iOS)

我有一个表视图,推到一个详细视图控制器。 从详细视图控制器,当我按下“后退”button,我想要一个整数值改变。 如何以编程方式编辑导航栏后退button的动作。 后退button自动放置在我的应用程序,因为我使用的是一个表视图,所以我实际上并没有创buildbutton,所以我不知道如何影响它的方法。

要清楚,我仍然希望后退button回到原始视图,但同时更改整数的值。 谢谢!

感谢PengOne指点我这个方向。 在头文件中添加UINavigationBarDelegate并在.m文件中使用它:

 - (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(UINavigationItem *)item { //insert your back button handling logic here // let the pop happen return YES; } 

我已经想出了一个简单的解决办法。 我只是取消选中“显示导航栏”在界面生成器的UINavigationController的表视图是包含在。然后我用UINavigationBar复制的外观(但能够添加和删除button,我很高兴)。

之后,我创build了IBAction,我连接到button,并可以从那里控制一个整数值。

(PS唯一的问题是,XCode接口生成器中没有“后退”button,指向箭头的形状是很多人都知道的,如果你search的话,这个解决scheme很容易find)。

如果您使用的是UINavigationController ,那么UINavigationBarDelegate是委托类,它实现了-navigationBar:shouldPopItem 。 您可以在该方法中放置要触发的操作,例如递增或递减计数器。

你可以尝试实现viewDidDisappear,它应该在详细视图控制器的视图不可见时调用。