具有自定义操作的UIBarButtonItem将不会执行它

时间:2011-12-18 13:56:27

标签: iphone

好吧,弄清楚这样的事情很容易,我决定在我的UIBarButtonItem被按下后执行自定义操作。这是代码:

    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"GET BACK!!!" style:UIBarButtonItemStylePlain target:self action:@selector(test)];
    self.navigationItem.backBarButtonItem = backButton;
    [backButton release];

    [self.navigationController pushViewController:appsViewController animated:YES];

然而,即使没有添加任何自定义视图,也根本不会调用-test(尽管应用了标题更改)。

正如您所看到的,我在推送新视图控制器之前将这些更改应用于项目(否则标题更改甚至不起作用)。

我已经搜索了很多答案,但是人们似乎遇到的唯一麻烦就是它一旦有了自定义视图就不会回复一个动作。所以;我做错了什么?

1 个答案:

答案 0 :(得分:2)

您无法在后退按钮上设置自定义操作。 (或者,后退按钮项的操作设置为执行后退行为的内部操作。)如果要在用户返回到视图控制器时执行某些操作,请考虑在viewWillAppear:中执行此操作。您可能需要跟踪在推动子视图控制器或第一次出现后是否出现等等。