事件传递和视图响应有什么区别?两者和UIResponder有什么联系?

来源:3-3 UI事件传递&响应 相关面试问题

慕桂英1170923

2021-03-06

写回答

1回答

于海

2021-03-07

事件响应是hittest pointInside的过程,找到点击由哪个视图处理。这是一个从上到下的过程,用户触摸屏幕的点位开始,从根window的subviews逐级向下查找的过程。由于并不是每个视图都会响应点击等事件,举个例子一个button有个子视图view ,当用户点击区域位于该view中的时候,系统查找事件处理视图应该是view,但其没有事件处理能力,因此查找到后需要向上逐级查找最终由谁处理,查找过程是通过.nextResponder来进行。对于添加手势的这种视图在事件传递机制上还稍有不同,感兴趣可以研究下

0
1
慕桂英1170923
文中第一个例子点击C2区域,发现C2没有事件响应。这个时候的查找过程是怎样的,是hitTest方法继续倒叙遍历,还是沿着C2的责任链查找?hitTest的倒叙和nextResponder怎么处理呢?
2021-03-16
共1条回复

资深大牛带你深度剖析ios高级面试

从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系

1749 学习 · 600 问题

查看课程