影响UINavigationBar的后退按钮方法(iOS)

时间:2011-11-30 21:41:01

标签: ios xcode uitableview uinavigationbar back-button

我有一个推送到详细视图控制器的表视图。从详细视图控制器,当我按下“后退”按钮时,我想要一个整数值来改变。如何以编程方式编辑导航栏后退按钮的操作。后退按钮会自动放在我的应用程序中,因为我正在使用表格视图,因此我实际上没有创建按钮,因此我不知道如何影响它的方法。

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

4 个答案:

答案 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,应该在详细视图控制器的视图不在视图时调用它。