首页 > 移动平台 > 详细

ios触摸事件的产生和传递

时间:2016-01-23 21:17:22      阅读:255      评论:0      收藏:0      [点我收藏+]
  1. 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中
  2. UIApplication会从事件队列中取出最前面的事件并将事件分发下去以便处理,通常先发送给应用程序的主窗口(keyWindow)
  3. 主窗口会在市图层次结构中找到一个最合适的视图来处理触摸事件
  4. 找到合适的视图控件后,就会调用视图控件的touches方法来作具体的事件处理
  5. 触摸事件的传递是从父控件传递到子控件(如果父控件不能接收触摸事件,那么子控件就不可能接收到触摸事件

 

UIView不能接收触摸事件的三种情况

  1. 不接收用户交互:userInteractionEnabled = NO

  2. 隐藏: hidden = YES;

  3. 透明: alpha = 0.0~0.01;

  提示:UIImageView的userInteractionEnabled默认NO,因此它及其子控件默认是不接收触摸事件的

 

如何找到最适合的控件来处理事件

  1. 自己是否能接收触摸事件

  2. 触摸点是否在自己身上

  3. 从后往前遍历子控件,重复前面的两个步骤

  4. 如果没有符合条件的子控件,那么就自己最适合处理

ios触摸事件的产生和传递

原文:http://www.cnblogs.com/PJHome/p/5153968.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!