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

问题描述

| 在基于游戏的项目上工作。我将视图控制器作为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退出视图-在这里,您会变老,在不同的上下文中但基于相同的基础回答问题-     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...