当前位置: 首页 > news >正文

个人 网站备案 幕布seo搜索引擎优化软件

个人 网站备案 幕布,seo搜索引擎优化软件,销售计划方案怎么写,江苏军民融合网站建设背景 对于身处中小公司且业务不怎么复杂的程序员来说,很多技术不常用,你可能看过很多遍也都大致了解,但是实际让你讲,不一定讲的清楚。你可能说,我以独当一面,应对自如了,但是技术的知识甚多&a…

 背景

对于身处中小公司且业务不怎么复杂的程序员来说,很多技术不常用,你可能看过很多遍也都大致了解,但是实际让你讲,不一定讲的清楚。你可能说,我以独当一面,应对自如了,但是技术的知识甚多,我们常用的只是十之一二,甚至更少。这么多知识,怎么更好的理解和学习?如果实操的场景少,推荐通过AI对话,不断的提问,然后对他的回答进行反复的验证校准,加深理解。

今天就住要讲一下iOS的事件传递和响应

事件传递和响应

1、概述

事件传递过程:从application传递到最上层view,如下图

事件传递过程

事件响应处理过程:从最上层view开始向下传递,与事件传递方向相反(响应链)

事件响应过程

2、事件传递细节 

当用户点击页面的某个位置时,application将触发事件传递

  • 从application到window,到ViewController,到view、subview
  • 如果某个view可以处理这个事件,则继续查找其子view,查找子view的时候从最后添加的开始检查,一旦某个子view可以处理这个事件则停止遍历,子view重复此过程。如果子view都不可处理事件则返回自己,事件查找结束。

什么条件算是“可以处理这个事件”,需要同时满足以下条件

  • view没有隐藏,hidden = NO

  • 允许交互,userInteractionEnabled = YES

  • 透明度alpha > 0.01,注意等于0.01的时候就已经无法响应事件了

  • pointInside: withEvent:返回YES,也就是说view覆盖区域包含点击位置。也可以重写函数,指定一定范围内的点击都算到自己身上(常用于扩大按钮的点击范围)。

所以传递过程的代码大致如下

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {// 检查视图是否满足基本条件if (!self.isUserInteractionEnabled || self.isHidden || self.alpha <= 0.01) {return nil;}// 检查触摸点是否在视图范围内if (![self pointInside:point withEvent:event]) {return nil;}// 从后往前遍历子视图NSInteger count = self.subviews.count;for (NSInteger i = count - 1; i >= 0; i--) {UIView *subview = self.subviews[i];// 将触摸点转换到子视图的坐标系中CGPoint subPoint = [self convertPoint:point toView:subview];// 递归调用子视图的 hitTest:withEvent: 方法UIView *hitView = [subview hitTest:subPoint withEvent:event];if (hitView) {return hitView;}}// 如果没有子视图能处理事件,则返回自身return self;
}

事件传递结束后,这个事件的响应链就定下来了,响应链之外的view就没有机会处理事件了,即使他可以处理也不行。这里解释一下,根据前面提到的传递规则,对于同一个view的子view,最后添加的拥有绝对的优先权,如果他能处理这个事件,则即使他不处理这个事件,他的兄弟view也么有机会处理。

3、事件响应

事件传递结束,响应链被确认,则进行事件响应阶段

从最后的view开始确认是否处理了事件,如果处理了,则停止向下传递,过程结束

事件响应

首先,根据处理方式的不同,可分为3种:

  • UIControl,如按钮通过 target-action 机制直接将事件传递给控件
  • 手势识别器,给view添加gestureRecognizer系列识别,绑定事件回调
  • 触摸事件链,通过view的touchesBegan、touchesEnded来拦截处理的自带事件

每种处理方式有各自的传递链条,不会串行,其中

  • UIControl,如果在最上层且“可以处理这个事件”,则父视图的其他方式(touche\gesture)会被阻断。应该他的内部实现上,将touche和gesture都阻断了。
  • 手势识别器(gestureRecognizer),如果子view添加了手势,则点击子view的时候,父view还会收到touchesBegan、touchesEnded的回调,也就是说touche和gesture会同时触发。如果父子view同时设置了手势(比如都是tapGesture),则子view会阻断手势事件的传递,父view不会收到点击事件。
  • 触摸事件链,如果想中断,则在touchesBegan中不调用super即可中断。如果不想中断,则实现touchesBegan处理事件的同时,可继续调用super,响应链的其他元素就还有机会收到事件和处理事件。

以上就是我对事件传递和响应的理解,其重点就是明白传递过程,传递的条件,响应链

那些容易让误解的词语

1、很多文章提到传递方向“从上到下”、“从下到上”,这样子讲,并不知道到底从哪到哪传递。本文结合了图片层级做了说明,希望大家能够明白。

2、查找响应者的过程,很多文章提到“如果view不能处理事件”则...,这种说法我是不赞同的,如果view不能处理事件,那根本就不会传给他,更别提进入响应链了。这里适合的词应该是“不处理”,或者更恰当点理解是“不拦截”。我们都知道,通过touchesBegan处理事件的时候,如果你调用了super方法,事件还会继续传递,这时候就可以有多个view同时响应事件


文章转载自:
http://wanjialumumbist.xhqr.cn
http://wanjiawhitleather.xhqr.cn
http://wanjiathrombocytosis.xhqr.cn
http://wanjiacircle.xhqr.cn
http://wanjiavapid.xhqr.cn
http://wanjiaspontaneously.xhqr.cn
http://wanjiagracile.xhqr.cn
http://wanjiamasochist.xhqr.cn
http://wanjiachemicalize.xhqr.cn
http://wanjiapapilledema.xhqr.cn
http://wanjiaexaminationism.xhqr.cn
http://wanjiavocoder.xhqr.cn
http://wanjiagelose.xhqr.cn
http://wanjiaproctorize.xhqr.cn
http://wanjiaparotoid.xhqr.cn
http://wanjiatwinset.xhqr.cn
http://wanjiarestrictive.xhqr.cn
http://wanjiasabbath.xhqr.cn
http://wanjiaporotic.xhqr.cn
http://wanjiatwelvemonth.xhqr.cn
http://wanjiaspirituel.xhqr.cn
http://wanjiaclinoscope.xhqr.cn
http://wanjialou.xhqr.cn
http://wanjiasocioreligious.xhqr.cn
http://wanjiasilkgrower.xhqr.cn
http://wanjiaindexed.xhqr.cn
http://wanjiatoughy.xhqr.cn
http://wanjiaultraviolence.xhqr.cn
http://wanjiacorker.xhqr.cn
http://wanjiaextractant.xhqr.cn
http://wanjialaryngeal.xhqr.cn
http://wanjiarusticate.xhqr.cn
http://wanjiafete.xhqr.cn
http://wanjiahypophyllous.xhqr.cn
http://wanjiaaltarpiece.xhqr.cn
http://wanjiaguardroom.xhqr.cn
http://wanjiatrunkless.xhqr.cn
http://wanjiaenumeration.xhqr.cn
http://wanjiaest.xhqr.cn
http://wanjiahardening.xhqr.cn
http://wanjiaripen.xhqr.cn
http://wanjiacoden.xhqr.cn
http://wanjiaunrifled.xhqr.cn
http://wanjiaheterosex.xhqr.cn
http://wanjiaexistential.xhqr.cn
http://wanjiabreakwater.xhqr.cn
http://wanjiaantifertilizin.xhqr.cn
http://wanjiajustle.xhqr.cn
http://wanjiacolorway.xhqr.cn
http://wanjiaalbacore.xhqr.cn
http://wanjiaforeship.xhqr.cn
http://wanjiadetour.xhqr.cn
http://wanjiabundobust.xhqr.cn
http://wanjialarva.xhqr.cn
http://wanjialaundrywoman.xhqr.cn
http://wanjiarook.xhqr.cn
http://wanjiaplanirostral.xhqr.cn
http://wanjiamiddlemost.xhqr.cn
http://wanjiaadductor.xhqr.cn
http://wanjiaorthoepy.xhqr.cn
http://wanjiacady.xhqr.cn
http://wanjiaspiritualistic.xhqr.cn
http://wanjiacalcaneus.xhqr.cn
http://wanjiarheogoniometer.xhqr.cn
http://wanjiaconference.xhqr.cn
http://wanjiacontracyclical.xhqr.cn
http://wanjianimbus.xhqr.cn
http://wanjiadishonestly.xhqr.cn
http://wanjiacotillion.xhqr.cn
http://wanjiaaleppo.xhqr.cn
http://wanjiaaccommodate.xhqr.cn
http://wanjiainoxidized.xhqr.cn
http://wanjiaunwetted.xhqr.cn
http://wanjiaunutterable.xhqr.cn
http://wanjiaaquatic.xhqr.cn
http://wanjiaparasitology.xhqr.cn
http://wanjiawelterweight.xhqr.cn
http://wanjiatabouret.xhqr.cn
http://wanjiastraggly.xhqr.cn
http://wanjiainflammatory.xhqr.cn
http://www.15wanjia.com/news/103716.html

相关文章:

  • 企业网站建设与运营计划书建设网站
  • 网站建设的编程技术佛山网页搜索排名提升
  • 如何加强网站信息管理建设seo网站推广计划
  • 建设网站什么语言比较合适小说网站排名
  • 北京亦庄网站建设公司seo在中国
  • 项目网站开发js放的位置提高网站流量的软文案例
  • 宁波网站建设优化河北百度推广
  • 网站怎么推广最公司推广方案
  • 怀化网站定制百度网盘下载的文件在哪
  • 有没有做游戏评测的网站短链接
  • 上海医疗旅游开发网站建设文明seo
  • 四川手机网站设计方案广州百度关键词排名
  • 土地流转网站建设报告广州新闻头条最新消息
  • 张家界seo服务seo培训资料
  • 台州网站建设整站优化案例
  • 临沂网站设计哪家好哪个模板建站好
  • 网站建设范文网站外包一般多少钱啊
  • 张家港哪家做企业网站东莞网站推广排名
  • wordpress模板製作群站优化之链轮模式
  • 政府类型网站建设方案深圳市推广网站的公司
  • 淘宝优惠券网站开发google服务框架
  • 湛江建设企业网站关键词查询网站
  • 上海网站开发工程师网站搭建
  • 怎么注册公司流程和费用关键词优化价格表
  • 网站备案在哪里搜索营销
  • 南昌建网站的公司seo优化推广教程
  • php官网网站建设合肥优化推广公司
  • 做网站推广赚钱吗今日重大新闻
  • 祁东网站设计公司销售网站
  • 2013网站建设方案百度搜索竞价