在导航栏中按下后退按钮时会发生什么

时间:2009-12-30 14:52:34

标签: iphone

我想知道在navigationBar上按下后退按钮时调用的函数是什么。

我想在按下按钮时添加一些功能,谁知道呢?

提前致谢

3 个答案:

答案 0 :(得分:1)

您需要的功能在UINavigationBarDelegate协议中。实施-navigationBar:shouldPopItem:方法并将您的类设置为相关导航栏的delegate

答案 1 :(得分:0)

假设你指的是原生控件,那就没有办法做你想要的了,只需使用内置的东西。你想要做的是创建一个'假'后退按钮,并将其粘贴在导航栏的左侧。然后,您可以将目标和操作设置为您喜欢的任何内容。

答案 2 :(得分:0)

我想你正在讨论当你在navigationcontroller上推一个新的viewcontroller时自动添加到UINavigationBar的后退按钮。

后退按钮的默认操作是从导航堆栈弹出当前viewcontroller并返回上一个viewcontroller。 如果要为后退按钮定义自定义行为,则必须创建一个新按钮并将选择器绑定到它的动作属性:

//Create a new barbutton with an action 
UIBarButtonItem *barbutton = [[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStyleDone target:self action:@selector(doSomething)];

// and put the button in the nav bar
self.navigationItem.leftBarButtonItem = barbutton;

[barbutton release];

编辑:
//关于如何实现doSomething方法的示例。

-(void) doSomething
{
//Do your custom behaviour here..

//Go back to the previous viewcontroller
[self.navigationController popViewControllerAnimated:YES];
}