iPhone:捕获后退按钮事件

时间:2011-02-28 18:06:25

标签: iphone objective-c events button back

问候,

我有以下代码来捕获后退按钮的事件:

[self.navigationItem setBackBarButtonItem:[[UIBarButtonItem alloc] initWithTitle:@"Logout" style:UIBarButtonItemStylePlain target:self action:@selector(doLogout:)]];

这是我的doLogout:

-(void) doLogout:(id)sender{
    NSLog(@"hi");
}

Everything编译并运行正常,后退按钮文本更改为“Logout”。

唯一的问题是我的doLogout函数永远不会被调用!!!

我该怎么办?我现在已经坚持了一个小时......;(

非常感谢,

3 个答案:

答案 0 :(得分:0)

官方文件:

当此项目是导航栏的后退项目时 - 当它是顶部项目下方的下一个项目时 - 它可以表示为导航栏上的后退按钮。使用此属性指定后退按钮。 您设置的后栏按钮项目的目标和操作应为零。默认值为显示导航项标题的条形按钮项。

答案 1 :(得分:0)

而不是试图捕捉“后退按钮事件”,为什么不只是尝试覆盖UIViewController viewDidUnload

答案 2 :(得分:0)

您可以在子视图控制器上设置backBarButtonItem,而不是在顶视图控制器上设置leftBarButtonItem。这可以是任意栏按钮项,所有操作消息都应该正常传递。因为这取代了后退按钮,所以您必须确保在其中一个操作方法中手动弹出子控制器。