官方文档: 事件分发
当用户触发一个点击屏幕的动作时, system 封装这个动作,为 UIEvent,然后传递給 正在使用的 app, 它传递給 window -》 寻找被点击到的view;
流程就是 UIapplication - UIWindow - UIView (hit-test view) 也就是用户点击的view。
hit-testing 也就是寻找点击view 的过程。
系统会寻找,点击是,屏幕上的view ,同时把 view 便利,来着 是不是 pointInsideView 来 判断是非是 hit-test view ,如果是,就会返回这个 view ,让它来处理 event。
处理 event 的过程,则是相反的一个过程,
hit-test view - 》 superview - 》 topmost View - 》 UIViewController - 》 Window -》 UIApplication。
以上就是 事件分发的过程。 欢迎补充,拍砖