NavigationItem.leftBarButtonItem 返回事件捕获

NavigationItem.leftBarButtonItem 返回事件捕获

这个事件的捕获,在网上找了好久也没找到合适的方法,最后想了一些替代方法,供有需要的朋友借鉴。

1.把重新生成一个返回按钮,自己定义响应事件。

	UIImage *image=[UIImage imageNamed:@"ReturnHome_Dark"];
	UIBarButtonItem* backButton=[[UIBarButtonItem alloc] initWithImage:image landscapeImagePhone:image style:UIBarButtonItemStylePlain target:self action:@selector(doBack:)];
	self.navigationItem.leftBarButtonItem= backButton;
	UIImage* img=[UIImage imageNamed:@"ReturnHome_Dark"];
	UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
	btn.frame =CGRectMake(0, 0, 20, 20);
	[btn setBackgroundImage:img forState:UIControlStateNormal];
	[btn addTarget: self action: @selector(doBack:) forControlEvents: UIControlEventTouchUpInside];
	UIBarButtonItem* item=[[UIBarButtonItem alloc]initWithCustomView:btn];
	self.navigationItem.leftBarButtonItem=item;

2.在导航器上放一个透明的按钮,自己定义响应事件。

由于第一种,不能无缝的实现原生态效果,想到了第二种。

	UIButton * btn=[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 44)];
	[btn addTarget:self action:@selector(doBack:) forControlEvents:UIControlEventTouchUpInside];
	[btn setBackgroundColor:[UIColor clearColor]];
	[self.navigationController.navigationBar addSubview:btn];

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-13 09:32:37

NavigationItem.leftBarButtonItem 返回事件捕获的相关文章

让navigationItem.leftBarButtonItem具有backBarButtonItem的外观样式

需求是:点击返回按钮,自动保存设定,然后返回前一个画面,返回按钮必须使用带左箭头的那种,用过iOS的都懂的. 我一开始用的是iOS默认的backBarButtonItem, 但是发现它不能接收事件(Action),即便我设置了target以及Action也完全不起作用. 用leftBarButtonItem吧,倒是可以接收事件了,但是样式无法成为返回按钮那种箭头样子. 苦恼, 最后多次尝试,网上也翻了N遍终于找到了一种方法: 不需要额外制作图片,代码如下: Objc代码 UIButton *ba

截取iOS系统返回事件

当我们使用了系统的导航栏时,默认点击返回按钮是 pop 回上一个界面.但是在有时候,我们需要在点击导航栏的返回按钮时不一定要 pop 回上一界面,比如一个视频播放界面,进入横屏后,默认点击返回按钮仍然是 pop 返回上一个界面,但是如果我们想要在横屏点击返回按钮的时候是返回竖屏模式,而不是 pop 到上一界面,这该怎么实现呢? 注意:我们要的不是获取点击返回按钮的时机,而是想要拦截点击返回按钮的 pop 操作,使我们可以进行选择性的 pop,而不是必然的 pop. 下面一步步来解决这个问题. 一

Atitit.  Js 冒泡事件阻止 事件捕获   事件传递  事件代理

Atitit.  Js 冒泡事件阻止 事件捕获   事件传递  事件代理   1. 事件冒泡1 2. 事件捕获1 3. 同时支持了事件捕获阶段和事件冒泡阶段ddEventListener的第三个参数1 4. 事件代理3 5. 冒泡还是捕获?3 6. Js 冒泡事件阻止3 6.1. 返回false5 7. 事件冒泡 使处理函数有范围较大的触发面积,在“拖拽效果”脚本中是必须的5 8. refe6 8.1.1. 浅谈事件冒泡与事件捕获 - ac黄博客精选 - SegmentFault6   1. 事

javascript事件之: 事件冒泡, 事件捕获 ,阻止默认事件

谈起JavaScript的 事件,事件冒泡.事件捕获.阻止默认事件这三个话题,无论是面试还是在平时的工作中,都很难避免. 冒泡篇: 先来看一段实例: js: var $input = document.getElementsByTagName("input")[0]; var $div = document.getElementsByTagName("div")[0]; var $body = document.getElementsByTagName("

事件冒泡和事件捕获

1.什么是事件冒泡 在页面上可以有多个事件,也可以多个元素响应同一个事件.假设页面上有两个元素,其中一个元素嵌套在另一个元素里,并且都被绑定了click事件,同时<body>元素也绑定了click事件,完整代码如下: <script> $(function(){ //为span元素绑定click事件 $("span").bind("click",function(){ var txt=$("#msg").html()+&q

js事件监听机制(事件捕获)总结

在前端开发过程中我们经常会遇到给页面元素添加事件的问题,添加事件的js方法也很多,有直接加到页面结构上的,有使用一些js事件监听的方法,由于各个浏览器对事件冒泡事件监听的机制不同,le浏览器只有事件冒泡,没有事件监听的机制,对于事件监听的兼容性问题是最大的难题: 1.直接把事件的方法写在页面结构上 function eventfun(){ //console.log(this); } <input type="button" onclick="eventfun()&qu

前端-【学习心得】-聊一聊事件冒泡和事件捕获

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Examples</title> <meta name="description" conte

JS中的事件绑定,事件捕获,事件冒泡以及事件委托,兼容IE

转载请注明出处:http://www.cnblogs.com/zhangmingze/p/4864367.html ● 事件分为三个阶段:   事件捕获 -->  事件目标 -->  事件冒泡 ● 事件捕获:事件发生时(onclick,onmouseover--)首先发生在document上,然后依次传递给body.……最后到达目的节点(即事件目标). ● 事件冒泡:事件到达事件目标之后不会结束,会逐层向上冒泡,直至document对象,跟事件捕获相反 1.onlick -->事件冒泡,

IOS navigationItem 设置返回按钮,title图片和rightBarButtonItem

1.自定义返回按钮 UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStyleBordered target:nil action:nil]; [self.moreItem setBackgroundImage:[UIImage new] forState:UIControlStateNormal barMetrics:UIBarMetricsDe