如何确定已单击导航栏的后退按钮,然后显示警报

时间:2011-05-26 09:22:12

标签: iphone

在基于游戏的项目上工作。我有一个视图控制器作为GameScreen。 在游戏屏幕的顶部有一个带后退按钮的导航栏(默认)。现在,如果用户点击后退按钮,我必须显示警报。 那么如何确定“后退按钮被点击了”。 有什么建议吗? 谢谢

3 个答案:

答案 0 :(得分:1)

在viewdidload方法中:

UIButton *button =  [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"back_button.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(cancel:) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:button] autorelease];

在取消方法中:

- (IBAction) cancel:(id)sender
{
    [self.navigationController popViewControllerAnimated:YES];

    or show your alert view
}

否则,如果您不想要自定义后退按钮,也可以覆盖该方法。

答案 1 :(得分:1)

您的UINavigationBarDelegate有一个很好的方法,称为shouldPopItem

您可以在代理中覆盖它并在那里显示警报。这也让你有机会取消回归(弹出)。

答案 2 :(得分:0)

Stopping the self.navigationItem.leftBarButtonItem from exiting a view - 在这里你疯了,在不同的背景下回答这个问题,但同样的基础 -