界面类的对象一般都是可以接触点击事件的,只不过有的默认接受,有的需要设定属性。

userInteractionEnabled 属性设置为YES的时候就可以接受点击事件了

- (void)touchesBegan:(NSSet *) touches withEvent:(UIEvent *) event

- (void)touchesMoved:(NSSet *) touches withEvent:(UIEvent *) event

- (void)touchesEnded:(NSSet *) touches withEvent:(UIEvent *) event

- (void)touchesCancelled:(NSSet *) touches withEvent:(UIEvent *) event

上面三个方法就会显示触摸的地方,可以在里面进行响应的操作

touch事件同时只能给一个对象,那么控制touch事件分配的对象也是一个难点了

首先touch事件响应的优先级就是界面的层次,在最上层不响应的时候就会传递给下层

当点击一个区域,想把想把事件传递下去,其他区域拦截事件的时候又是一个问题了

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event

这个方法可以很好的解决问题,当返回NO的时候就可以传递下去,返回YES的时候当前对象接受点击事件

CGRectContainsPoint(CGRectMake(0, 0, 40, 40), point);

经常配合这个方法来判断触摸点是否在CGRect内;

转载于:https://www.cnblogs.com/mawenqiangios/p/4992532.html

OS开发 touch事件的优先级和事件传递相关推荐

  1. android点击事件的优先级,Android事件体系全面总结+实践分析,系列篇

    前言 在这一个月里,我利用闲余的时间看了下最近Android职业发展这块该怎么选择?这个问题各位大神的回答都非常透彻,相信对大家或多或少都在一定程度上有很大的帮助,今天在这里写这篇文章更多的是想以我开 ...

  2. 移动端web开发---Touch事件详解

    一.pc端事件回顾 HTML事件.DOM0事件.DOM2事件 事件对象. 如果上述概念不清楚,请先去了解. 二.移动端事件简介 2.1 pc端事件在移动端的问题 ​ 移动设备主要特点是不配备鼠标,键盘 ...

  3. 移动端开发-touch事件及其相关属性

    1. 为什么移动端使用touch事件 习惯在电脑上写js代码的同学可能想问一个问题:为什么移动端要使用touch事件,mouse事件和click事件在手机上不能触发么?其实这个问题很容易解决.首先,这 ...

  4. 使用 jQuery Mobile 与 HTML5 开发 Web App (十一) —— jQuery Mobile 事件详解

    在前文<使用 jQuery Mobile 与 HTML5 开发 Web App -- jQuery Mobile 默认配置与事件基础>中,Kayo 对 jQuery Mobile 事件的基 ...

  5. Android 中Touch(触屏)事件传递机制

    版本:2.0 日期:2014.3.21 2014.3.29 版权:© 2014 kince 转载注明出处 一.基本概念 在实际开发中,经常会遇到与触屏事件有关的问题,最典型的一个就是滑动冲突.比如在使 ...

  6. 移动端开发touchstart,touchmove,touchend事件详解和项目

    移动端开发touchstart,touchmove,touchend事件详解和项目 最近在做移动端的开发,在一个"服务商管理"页面使用到了触摸事件"touchstart& ...

  7. Android手机红外开发—点击和长按事件

    上一篇文章<红外技术及Android手机红外遥控器开发>中简单介绍了红外遥控技术和Android 手机红外遥控开发操控中的点击事件,只需要按照编码协议规则对键值等进行编码解析,最后转化成数 ...

  8. 转载大神IOS开发系列【9】--触摸事件、手势识别、摇晃事件、耳机线控

    转载自:http://www.cnblogs.com/kenshincui/p/3950646.html 概览 iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以 ...

  9. 《H5 App开发》移动端IOS click 事件响应缓慢的解决方案

    造成点击缓慢的原因 从点击屏幕上的元素到触发元素的 click 事件,移动浏览器会有大约 300 毫秒的等待时间.为什么这么设计呢? 因为它想看看你是不是要进行双击(double tap)操作. 第一 ...

  10. C#微信公众号开发系列教程五(接收事件推送与消息排重)

    C#微信公众号开发系列教程五(接收事件推送与消息排重) 原文:C#微信公众号开发系列教程五(接收事件推送与消息排重) 微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续 ...

最新文章

  1. 正则表达式之——exec,match
  2. Linux之shell中的(),(()),{},=,==:{var}(cmd)((exp))=赋值==判断
  3. 6.方法(go语言学习笔记)
  4. Repeater的嵌套结合用户控件的使用
  5. 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II
  6. Python基础总结之常用内置方法总结
  7. 中国移动与清华大学达成战略合作,将共同研究6G
  8. GCC/G++编译过程
  9. 微软拟测试类微博服务OfficeTalk
  10. Java开发学习教程之对象的创建与使用
  11. sstv解码_新的业余无线电 SSTV 设备已运抵国际空间站
  12. PopWindow的简单使用
  13. 《加速器理论(第二版)》读书笔记
  14. 操作系统原理、实现与实践课后习题参考答案(已完结)
  15. 7、python数据框重复值的查找和删除
  16. 数字图像处理 信息隐藏 LSB算法
  17. 720p、1080i、1080p,三种格式(片源),谁更清晰?
  18. 同花顺股票交易接口定义被类实现
  19. 身份证 闰年验证 超强验证
  20. 【测试用例】测试用例设计的关键点总结

热门文章

  1. TP5报错variable type error: array
  2. First Kernel-pwn
  3. MyBatis 学习之路其一:使用mybatis 创建一个简单的程序
  4. H5本地存储 localStorage和sessionStorage区别 存储方式 用法
  5. hibernate_09_关联映射_多对一
  6. jfreechart环形图完美实现
  7. 优分享VR开源啦,优分享VR是基于Google VR开发的一款手机VR视频资源的聚合软件...
  8. Oracle 索引的分类
  9. jq为a标签绑定的onclick事件在移动端不响应
  10. 普通文件的上传(表单上传和ajax文件异步上传)