美文网首页
iOS事件的传递

iOS事件的传递

作者: heartNewStart | 来源:发表于2017-07-14 10:07 被阅读0次

事件的传递

1、点击View产生一个触摸事件,这个事件会被添加到UIApplication管理的队列中。

2、当UIApplication从队列中取出此触摸事件时会把它传给应用程序的主窗口。

3、窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件。


*找到最合适视图的过程:1> 首先判断主窗口自己是否能接收触摸事件,然后再判断触摸点是否在自己身上。</br>2、如果触摸点在窗口身上,那么窗口就会从后向前的遍历自己的子控件。</br>3、遍历子控件的过程就是每个子控件重复上面的两个步骤,如此循环直到找到最合适的view。</br>4、找到最合适的view就会调用其touches方法来处理事件。之所以采用由后向前的遍历方式只是为了降低循环次数</br>
*寻找最合适view的底层剖析:只要事件一传递给控件,控件就会调用他自身的hitTest:withEvent方法(首先调用当前控件的pointInside:withEvent:方法判断触摸点是否在当前视图内,若返回NO,则hitTest:withEvent返回nil;若返回YES,则向当前视图的所有子视图发送hitTest:withEvent:消息,直到有子视图返回非空对象)

相关文章

  • iOS 响应链

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

  • 深入浅出iOS事件机制

    深入浅出iOS事件机制事件传递:响应链事件传递响应链

  • 初识iOS事情处理机制

    参考:史上最详细的iOS之事件的传递和响应机制-原理篇iOS触摸事件全家桶史上最详细的iOS之事件的传递和响应机制...

  • iOS事件,原来如此

    精简地说:iOS事件分为传递和响应两个部分。 事件传递(建立传递链): iOS系统检测到手指触摸(Touch)操作...

  • 事件层级原理 响应链

    iOS事件 运动事件,远程控制事件、触摸事件 触摸事件 事件传递的顺序 当点击红色的时候 打印为 事件传递的方法 ...

  • iOS 触摸事件与响应理解

    参考文章: iOS触摸事件的流动 iOS触摸事件的传递与响应 UIViewController UIAppli...

  • iOS响应者链

    参考好文 iOS开发-事件传递响应链,用运行时分析 iOS事件传递:响应者链[译] http://www.jian...

  • iOS之事件的传递和响应机制

    iOS之事件的传递和响应机制

  • ios 事件传递和响应

    史上最详细的iOS之事件的传递和响应机制-原理篇iOS触摸事件传递响应之被忽视的手势识别器工作原理手势事件中can...

  • iOS 事件响应链机制

    iOS中的事件的产生和传递 首先要知道 事件传递和响应过程 相反的。 事件的传递 当你点击了屏幕会产生一个触摸事件...

网友评论

      本文标题:iOS事件的传递

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