UIScrollView事件拦截
在日常的开发中,我们经常会用到UIScrollView,然而,它是一个问题频出的控件,比如在nib中使用它就必须手动为它创建一个ContentView.当然了使用春代码的时候使用了懒加载机制使得它能够拥有一个contentView,今天我们不谈这个问题,我们来谈谈UIScrollView的事件拦截相关的知识.
在进入正题之前,先补个知识点:响应链「Responder Chain」.iOS设备的屏幕上有很多的元素,当用户触发了一个事件之后:
用户触发事件 ->系统框架UIKit创建一个包含该事件各种信息的事件对象 -> 把它加入到前台App的事件队列中 -> UIApplication响应该事件 -> 把该事件交给当前的window对象 (-> 根据不同的事件对象生成不同新对象)
①触摸事件 -> 传递新对象 -> 触发事件的View(hit-testing).
②摇动或者远程控制事件 ->window对象把摇动事件或者远程控制事件传递给第一响应者来处理.
接下来谈一下一个现象:
1>在UIScrollView上添加一个ContentView,在ContentView上添加几个Button,运行
你会发现:点击按钮的时候会出现延迟现象,
2>设置delayContentsTouches为NO
你会发现:在按钮上无法滑动ScrollView
3>自定义一个类,继承UIScrollView,重写方法- (BOOL)touchesShouldCancelInContentView:(UIView *)view;并且直接返回YES:
你会发现,问题解决了.
转载于:https://www.cnblogs.com/Shreker/p/5039775.html
UIScrollView事件拦截相关推荐
- android 事件拦截 (Viewpager不可以左右滑动)
以前没有做过真正的需求,所以从来没有觉得事件拦截分发处理有什么好懂的. 现在做需求了,真的是什么需求都有,你作为开发都要去研究实现.比如说,只能点不能滑动的viewpager.其实这都可以不用view ...
- android 拦截点击事件,Android事件拦截机制
一直对事件拦截不是很清楚,读Android群英传的笔记,记录下. 要了解事件拦截,首先要了解触摸事件,触摸事件是捕获触摸屏幕后发生的事件.按一下屏幕通常会有几个事件发生,当按下屏幕,这是事件1.滑动了 ...
- 反思|Android 事件拦截机制的设计与实现,android组件化开发
最顶层View直接持有最下层某个View的引用合理吗?答案是否定的.首先,这导致View层级依赖之间的混乱:其次,顶层View本身持有了最下层某个View的引用,则这之间若干个层级的View的targ ...
- android 拦截点击事件,Android双击事件拦截方法
下文我们介绍两种双击事件拦截的方式 1.通过Android的事件分发机制进行拦截(dispatchTouchEvent) 话不多说,直接上代码: /** 判断是否是快速点击 */ private st ...
- Android:Touch事件拦截机制
道长说了这么多自定义View,还没说自定义View会遇到什么问题,其实这个问题不止在自定义View中存在.在开发中遇到控件嵌套,堆叠都会出现,比如:点击子控件,子控件接收不到点击事件等等.这里道长简单 ...
- iOS事件拦截(实现触摸任意位置隐藏指定view)
项目里有一个需求,类似新浪或者腾讯微博的顶部title栏的类别选择器的消失(在选择器展开的时候,触摸屏幕任何地方使其消失). 最开始的想法是当这个选择器(selectorView)展开的时候,在当前屏 ...
- 事件分发机制 事件拦截 滑动冲突 MD
目录 事件分发机制分析案例 默认行为 试验 0 结论 dispatchTouchEvent 返回 true 试验 1 试验 2 结论 onInterceptTouchEvent 返回 true 试验 ...
- springboot—监听容器启动事件—拦截器及注册
1.监听容器启动事件 2.拦截器
- html 冒泡事件拦截,Js 冒泡事件阻止
一. 事件目标 现在,事件处理程序中的变量event保存着事件对象.而 event.target 属性保存着产生事件的目标元素.这个属性是 DOM API 中规定的,但是没有被所有浏览器实现 .jQu ...
最新文章
- 【硬件基础】个人感悟+C语言 引入头文件时引号括号的区别
- 读书笔记之《淘宝技术这十年》
- 预录取到计算机,预录取什么情况不录取 原因有哪些
- SQL OVER用法
- bzoj1088[SCOI2005]扫雷Mine
- 02-图像的几何变换
- java开发区块链_使用Java语言从零开始创建区块链
- hdu 1333水题
- 不同编码的MP4视频在各大游览器播放总结
- PS快速美白磨皮方法
- SAMBA+LDAP ERROR“smbd dead but pid file exists”
- win10 SystemParametersInfo 设置屏保 不好使_Acer 暗影骑士 N50-N92电脑如何重装win10?win10专业版系统重装教程...
- 扫雷游戏 (15 分)
- NLP领域大语言模型汇总
- 量子计算核心突破!Shor算法实现或使密码成摆设
- 值得看,为什么跨境电商一定要自建网站?
- 国际现货黄金换算须知
- 让雷军都压力山大的首位 00 后 CEO 抄袭了程序员的开源项目
- 21天学通C语言-学习笔记(3)
- Firewalld防火墙基础
热门文章
- python中max函数用法_Python中max函数用法实例分析
- scatter python_python数据可视化(matplotlib、scatter)
- java中的基本数据类型_Java中的基本数据类型和引用数据类型
- 数学--数论--鸽巢原理
- STL常用对象,不会搞得C++跟没学一样
- 计组—缓存Cache
- linux-shell命令之chgrp(change group)【更改群组】
- 【论文笔记】One Millisecond Face Alignment with an Ensemble of Regression Trees
- TensorFlow:实战Google深度学习框架(三)深层神经网络
- 使用Java解决您的数据科学问题