从手指触摸到响应,大致经历以下三个阶段。
系统处理阶段 -- SpringBoard.app处理阶段 -- App处理阶段
开发中涉及的阶段是App处理阶段。简单介绍一下App内部响应阶段:
--->触摸事件响应链
- App收到触摸事件。
- 递归调用HitTest(从最底层的view递归至最上层的view),并结合pointInside找到触摸的View。
--->事件响应链 - 根据收到的UIEvent,会按照UIResponder响应链一直向上传递(从最上层的view向最底层寻找)。直到响应了该Event。若一直没有响应,最后会传递到UIApplication,最后消失。
注:若有疑问或需要补全的地方,请留言。我会尽快补充。
网友评论