美文网首页
ios事件处理

ios事件处理

作者: KS小么 | 来源:发表于2018-01-03 15:18 被阅读0次

ios 事件处理

    先要找到合适的view来处理事件,找view的过程为先通过hitTest 判断当前的view能否相应事件,透明度,hidden如果这些条件都满足 在通过pointInside方法判断这个点在不在这个view上,在的话 在遍历这个view的subView ,后进先判断的原则查找最合适的子view 一直找下去,直到找到最合适的view为止. 找到  合适的view之后才会 调用touch方法,从合适的touch方法将会从合适的view一层一层往上传递,最后传到Appdelegate。   注意:先执行hitTest方法在调用pointinside方法判断是否在里面。

UIRespond和响应链,首先会通过hitTest和pointinside方法找到最合适的view如果这个view能响应事件则处理,不能则通过nextRespond属性传递给下一个响应者最后的响应者为Appdelegate。

 单手势:当给view添加手势后,还是会通过上面的步骤来查找合适的view,默认情况下先执行的是手势的touch事件(begin等),在执行view的touch事件,手势识别出来后执行手势的action,然后执行view的touch(cancel)取消方法,默认手势的cancelsTouchesInView属性(识别手势之后,是否取消view的touch事件)是YES,手势还有一个属性delaysTouchesBegan(是否延迟view的touch事件识别;如果延迟了,那么手势也识别了,那么放弃touch事件)相当于不执行view的touch事件。view和它的superView的手势都能响应。

自定义的手势和btn都实现touch的几个方法来研究系统的原理。

手势的种类,和btn事件怎么分辨出来:根据手势,和btn自己的touch四个方法来辨别出来。

uibutton:上的事件也是会先找到合适的view然后执行touch方法(判定事件的种类) 在执行btn的action方法

相关文章

  • iOS 事件以及手势的处理

    iOS 事件以及手势的处理 首先引用深入浅出iOS事件机制,iOS触摸事件处理详解,详解iOS触摸事件与手势识别三...

  • UI部分-事件处理

    iOS事件处理- 用户使用App产生的事件及响应方法: iOS中不是任何对象都能处理事件,只有继承UIRespon...

  • iOS事件的响应者链

    iOS 事件响应者链 1 iOS中的事件 触摸事件 加速计事件 远程控制事件 在iOS中不是任何对象都能处理事件,...

  • iOS 响应链

    iOS开发 - 事件传递响应链iOS 响应者链,事件的传递事件传递之响应链Cocoa Touch事件处理流程--响...

  • iOS-RunLoop浅析

    RunLoop是iOS事件响应与任务处理最核心的机制,它贯穿iOS整个系统,自动释放池,延迟处理,触摸事件,屏幕刷...

  • 《iOS事件触摸与手势》

    iOS事件触摸与手势 一、事件分发处理【由外到内】在iOS中发生触摸后,事件会加到UIApplication事件队...

  • iOS和Flutter里的事件处理

    目录先说一下事件处理里的被处理者:事件一、iOS里的事件二、Flutter里的事件然后说一下事件处理里的处理者:响...

  • iOS 事件处理机制与图像渲染过程

    iOS 保持界面流畅的技巧 iOS 处理图片的一些小 Tip iOS 事件处理机制与图像渲染过程

  • hitTest和pointInside如何响应用户点击事件

    处理机制iOS事件处理,首先应该是找到能处理点击事件的视图,然后在找到的这个视图里处理这个点击事件。处理原理如下:...

  • iOS事件处理机制

    事件类型 iOS的事件可以分为三类:触摸事件,加速计事件,远程控制事件 iOS中不是任何对象都能处理对象,只有继承...

网友评论

      本文标题:ios事件处理

      本文链接:https://www.haomeiwen.com/subject/crfhnxtx.html