最佳答案
虽然大多数苹果文档都写得很好,但我认为“ IOS 事件处理指南”是个例外。我很难清楚地理解那里描述的是什么。
文件上说,
在命中测试中,一个窗口在视图层次结构的最顶层视图上调用
hitTest:withEvent:
; 这个方法通过递归地在返回 YES 的视图层次结构中的每个视图上调用pointInside:withEvent:
,沿着层次结构继续下去,直到它找到发生触摸的界限所在的子视图。该视图成为命中测试视图。
所以是不是只有最顶层视图的 hitTest:withEvent:
被系统调用,系统调用所有子视图的 pointInside:withEvent:
,如果某个子视图的返回值是 YES,那么就调用该子视图子类的 pointInside:withEvent:
?