zoukankan      html  css  js  c++  java
  • 事件的产生和传递

    •发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中
     
    •UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow)
     
    •主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件,这也是整个事件处理过程的第一步
     
    •主窗口会调用hitTest:withEvent:方法在视图继承树中找到一个最合适的子视图来处理触摸事件,该子视图即为hit-test视图
    •找到合适的视图控件后,就会调用视图控件的touches方法来作具体的事件处理
    touchesBegan…
    touchesMoved…
    touchedEnded…
     
     
     
    •如果父控件不能接收触摸事件,那么子控件就不可能接收到触摸事件(掌握)
     
    •如何找到最合适的控件来处理事件?
    Ø自己是否能接收触摸事件?userInteractionEnabled 等等
    Ø触摸点是否在自己身上?
    Ø从后往前遍历子控件,重复前面的两个步骤
    Ø如果没有符合条件的子控件,那么就自己最适合处理
  • 相关阅读:
    软件开发目录规范
    编译Python文件
    python文件的两种用途
    函数高级实战之ATM和购物车系统升级
    函数高级小结
    SpringCloud---(4)Eureka与Zookeeper的区别
    Maven父工程(统一管理依赖)
    SpringCloud-----(1)微服务基础概念
    传统项目架构图
    Session
  • 原文地址:https://www.cnblogs.com/it-k-50/p/5855377.html
Copyright © 2011-2022 走看看