事件链和响应链

当我们用手指轻触屏幕,首先是app的UIApplication对象接收到了这次点击事件,紧接着,UIApplication对象把这次点击传递给了UIWindow对象,UIWindow对象继续向他的子View对象传递,直到传递到最上层。


响应过程是和事件传递过程相反的。

最上面的view发现点击事件是在自己的范围内,且自己可以响应这个事件,那么他就不再向下传递了。如果该view发现自己不具备响应这个事件的能力,那么他会把事件继续向下传递,传递到他的上一层,就这样依次向下传递,直到UIwindow层,发现依然没有可以响应的View,那么这个点击事件就没有响应者,点击无效。

涉及两个方法

hitTest:withEvent:

pointInside:withEvent:

你可能感兴趣的:(事件链和响应链)