问题描述
|
在基于游戏的项目上工作。我将视图控制器作为GameScreen。
在游戏屏幕的顶部有一个带有后退按钮的导航栏(默认)。现在,如果用户单击后退按钮,我必须显示警报。
那么如何确定“单击后退按钮”。
有什么建议吗?
谢谢
解决方法
在您的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];
在cancel方法中:
- (IBAction) cancel:(id)sender
{
[self.navigationController popViewControllerAnimated:YES];
or show your alert view
}
否则,如果您不需要自定义后退按钮,则也可以覆盖该方法。
,您的UINavigationBarDelegate
有一个不错的方法,称为shouldPopItem。
您可以在委托中覆盖它,并在其中显示警报。这也使您有机会取消返回(弹出)。
,阻止self.navigationItem.leftBarButtonItem退出视图-在这里,您会变老,在不同的上下文中但基于相同的基础回答问题-