博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ios触摸事件的产生和传递
阅读量:4342 次
发布时间:2019-06-07

本文共 556 字,大约阅读时间需要 1 分钟。

  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. 如果没有符合条件的子控件,那么就自己最适合处理

转载于:https://www.cnblogs.com/PJHome/p/5153968.html

你可能感兴趣的文章
Vue集成微信开发趟坑:公众号以及JSSDK相关
查看>>
技术分析淘宝的超卖宝贝
查看>>
i++和++1
查看>>
react.js
查看>>
P1313 计算系数
查看>>
NSString的长度比较方法(一)
查看>>
Azure云服务托管恶意软件
查看>>
My安卓知识6--关于把项目从androidstudio工程转成eclipse工程并导成jar包
查看>>
旧的起点(开园说明)
查看>>
生产订单“生产线别”带入生产入库单
查看>>
crontab导致磁盘空间满问题的解决
查看>>
java基础 第十一章(多态、抽象类、接口、包装类、String)
查看>>
Hadoop 服务器配置的副本数量 管不了客户端
查看>>
欧建新之死
查看>>
自定义滚动条
查看>>
APP开发手记01(app与web的困惑)
查看>>
笛卡尔遗传规划Cartesian Genetic Programming (CGP)简单理解(1)
查看>>
初识前端作业1
查看>>
ffmpeg格式转换命令
查看>>
万方数据知识平台 TFHpple +Xpath解析
查看>>