我有一个推送到详细视图控制器的表视图。从详细视图控制器,当我按下“后退”按钮时,我想要一个整数值来改变。如何以编程方式编辑导航栏后退按钮的操作。后退按钮会自动放在我的应用程序中,因为我正在使用表格视图,因此我实际上没有创建按钮,因此我不知道如何影响它的方法。
要清楚,我仍然希望后退按钮返回原始视图,但同时更改整数值。谢谢!
答案 0 :(得分:4)
感谢PengOne指出我的方向。
在标头文件中添加UINavigationBarDelegate
并在.m
文件中使用它:
- (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(UINavigationItem *)item
{
//insert your back button handling logic here
// let the pop happen
return YES;
}
答案 1 :(得分:2)
我已经找到了一个简单的方法来解决这个问题。我只是在Interface Builder中为包含表视图的UINavigationController取消选中“显示导航栏”。然后我使用UINavigationBar来复制外观(但我能够添加和删除按钮)。
之后,我刚创建了IBAction,我连接到按钮,可以从那里控制一个整数值。
(PS唯一的问题是,许多人都知道,在XCode界面构建器中没有“后退”按钮指向箭头形状。如果你搜索,很容易找到解决方案。< / p>
答案 2 :(得分:1)
如果您使用的是UINavigationController
,则UINavigationBarDelegate
是委托类,它会实现-navigationBar:shouldPopItem
。您可以在该方法中设置要触发的操作,例如递增或递减计数器。
答案 3 :(得分:0)
您可以尝试实现viewDidDisappear,应该在详细视图控制器的视图不在视图时调用它。