OS开发 touch事件的优先级和事件传递
界面类的对象一般都是可以接触点击事件的,只不过有的默认接受,有的需要设定属性。
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事件的优先级和事件传递相关推荐
- android点击事件的优先级,Android事件体系全面总结+实践分析,系列篇
前言 在这一个月里,我利用闲余的时间看了下最近Android职业发展这块该怎么选择?这个问题各位大神的回答都非常透彻,相信对大家或多或少都在一定程度上有很大的帮助,今天在这里写这篇文章更多的是想以我开 ...
- 移动端web开发---Touch事件详解
一.pc端事件回顾 HTML事件.DOM0事件.DOM2事件 事件对象. 如果上述概念不清楚,请先去了解. 二.移动端事件简介 2.1 pc端事件在移动端的问题 移动设备主要特点是不配备鼠标,键盘 ...
- 移动端开发-touch事件及其相关属性
1. 为什么移动端使用touch事件 习惯在电脑上写js代码的同学可能想问一个问题:为什么移动端要使用touch事件,mouse事件和click事件在手机上不能触发么?其实这个问题很容易解决.首先,这 ...
- 使用 jQuery Mobile 与 HTML5 开发 Web App (十一) —— jQuery Mobile 事件详解
在前文<使用 jQuery Mobile 与 HTML5 开发 Web App -- jQuery Mobile 默认配置与事件基础>中,Kayo 对 jQuery Mobile 事件的基 ...
- Android 中Touch(触屏)事件传递机制
版本:2.0 日期:2014.3.21 2014.3.29 版权:© 2014 kince 转载注明出处 一.基本概念 在实际开发中,经常会遇到与触屏事件有关的问题,最典型的一个就是滑动冲突.比如在使 ...
- 移动端开发touchstart,touchmove,touchend事件详解和项目
移动端开发touchstart,touchmove,touchend事件详解和项目 最近在做移动端的开发,在一个"服务商管理"页面使用到了触摸事件"touchstart& ...
- Android手机红外开发—点击和长按事件
上一篇文章<红外技术及Android手机红外遥控器开发>中简单介绍了红外遥控技术和Android 手机红外遥控开发操控中的点击事件,只需要按照编码协议规则对键值等进行编码解析,最后转化成数 ...
- 转载大神IOS开发系列【9】--触摸事件、手势识别、摇晃事件、耳机线控
转载自:http://www.cnblogs.com/kenshincui/p/3950646.html 概览 iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以 ...
- 《H5 App开发》移动端IOS click 事件响应缓慢的解决方案
造成点击缓慢的原因 从点击屏幕上的元素到触发元素的 click 事件,移动浏览器会有大约 300 毫秒的等待时间.为什么这么设计呢? 因为它想看看你是不是要进行双击(double tap)操作. 第一 ...
- C#微信公众号开发系列教程五(接收事件推送与消息排重)
C#微信公众号开发系列教程五(接收事件推送与消息排重) 原文:C#微信公众号开发系列教程五(接收事件推送与消息排重) 微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续 ...
最新文章
- 正则表达式之——exec,match
- Linux之shell中的(),(()),{},=,==:{var}(cmd)((exp))=赋值==判断
- 6.方法(go语言学习笔记)
- Repeater的嵌套结合用户控件的使用
- 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II
- Python基础总结之常用内置方法总结
- 中国移动与清华大学达成战略合作,将共同研究6G
- GCC/G++编译过程
- 微软拟测试类微博服务OfficeTalk
- Java开发学习教程之对象的创建与使用
- sstv解码_新的业余无线电 SSTV 设备已运抵国际空间站
- PopWindow的简单使用
- 《加速器理论(第二版)》读书笔记
- 操作系统原理、实现与实践课后习题参考答案(已完结)
- 7、python数据框重复值的查找和删除
- 数字图像处理 信息隐藏 LSB算法
- 720p、1080i、1080p,三种格式(片源),谁更清晰?
- 同花顺股票交易接口定义被类实现
- 身份证 闰年验证 超强验证
- 【测试用例】测试用例设计的关键点总结
热门文章
- TP5报错variable type error: array
- First Kernel-pwn
- MyBatis 学习之路其一:使用mybatis 创建一个简单的程序
- H5本地存储 localStorage和sessionStorage区别 存储方式 用法
- hibernate_09_关联映射_多对一
- jfreechart环形图完美实现
- 优分享VR开源啦,优分享VR是基于Google VR开发的一款手机VR视频资源的聚合软件...
- Oracle 索引的分类
- jq为a标签绑定的onclick事件在移动端不响应
- 普通文件的上传(表单上传和ajax文件异步上传)