在基于游戏的项目上工作。我有一个视图控制器作为GameScreen。 在游戏屏幕的顶部有一个带后退按钮的导航栏(默认)。现在,如果用户点击后退按钮,我必须显示警报。 那么如何确定“后退按钮被点击了”。 有什么建议吗? 谢谢
答案 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 - 在这里你疯了,在不同的背景下回答这个问题,但同样的基础 -