原文链接
https://www.jianshu.com/p/1a8dfd27201e
流程
1.触摸屏幕产生触摸事件后,触摸事件会被添加到由UIApplication管理的事件队列中(即,首先接收到事件的是UIApplication)。
2.UIApplication会从事件队列中取出最前面的事件,把事件传递给应用程序的主窗口(keyWindow)。
3.主窗口会在视图层次结构中通过hitTest方法找到一个最合适的视图来处理触摸事件。(至此,第一步已完成)。
4.最合适的view会调用自己的touches方法处理事件
5.touches默认做法是把事件顺着响应者链条向上抛。
手势冲突
https://www.jianshu.com/p/53e03e558cbd
单击事件优先传递给手势响应,手势如果识别成功则取消事件响应,如果识别失败则继续传递给事件响应。
网友评论