ios 中如何应对UIScrollView快速滑动(暴力用户,暴力测试)_SayKingLing的博客-程序员资料

技术标签: 测试  ios  ios dev  

1.实现UIScrollViewDelegate

开始滑动:

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView

滑动过程:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

滑动结束:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

注意:无伦用户如何滑动scrollView,只要有滑动,就会调scrollViewWillBeginDecelerating,只有scrollView当加速度停止之后,才会调用scrollViewDidEndDecelerating

2.有了以上条件,就为限制加载提供了实现方式

首先,定义一个有计数功能的变量,如int yesToLoad,初始化为0

然后,在scrollViewWillBeginDecelerating函数中让yesToLoad+=1,在scrollViewDidScroll中判断yesToLoad是否等于1,如果不等,则表明用户快速滑动了scrollView

最后,在scrollViewDidScroll将yesToLoad置为0,以便下一次测试用户是否暴力而这个判断也可以用在scrollViewDidScroll,如果yesToLoad不等于1,则执行你需要的函数


3.在实际应用过程中,就以上两个条件,会存在一个小小的bug,比如用户连续的来回滑动,或都小小的滑动加点击,这样屏幕会闪,于是再加上一个判断条件

moveLeng = 0;(初始化)

在- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView,最后让moveLeng等于滑动偏移量

moveLeng = scrollView.contentOffset.x;

在2判定的加上与,如果scrollView.contentOffset.x-moveLeng小于或者大于某一个值,则执行某个操作



版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/take8619702/article/details/8020172

智能推荐

Image Processing and Analysis_8_Edge Detection:Local Scale Control for Edge Detection and Blur Estim..._AllisWell_WP的博客-程序员资料

此主要讨论图像处理与分析。虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来。同样,这里面也有一些 也可以划归到计算机视觉中去。这都不重要,只要知道有这么个方法,能为自己 所用,或者从中得到灵感,这就够了。8. Edge Detection 边缘检测也是图像处理中的一个基本任务。...

用ModelSim仿真FIFO ._modelsim 初始化fifo_gjy938815的博客-程序员资料

由于仿真FIFO需要时钟资源,故使用了前一篇文章中使用的PLL模块。在仿真FIFO模块时,我使用了一个数据发生模块,参考的下面这篇文章中的源码datagene.v (可以去链接网址下载源码)数据发生模块的输入输出框图如下所示:我在Modelsim中利用了该模块进行FIFO的仿真。若对FIFO的IP核不熟悉,可以参考官方文档:http://www.altera.com/liter

【148】黑盒、白盒、灰盒测试_小麦粒的博客-程序员资料

内容目录(原文见公众号python宝)一、黑盒测试二、白盒测试三、灰盒测试一、黑盒测试黑盒测试又称为功能测试、数据驱动测试,它是通过测试来检测每个功能是否能正常使用。把程...

计算机专业大类下,还有哪些细分的专业,分别是干什么的?_taya_a的博客-程序员资料

作者:罗文链接:https://www.zhihu.com/question/40819195/answer/129677777来源:知乎著作权归作者所有,转载请联系作者获得授权。之前就有想过写一篇关于这个问题的长文,因为还有工作,慢慢写了有两天,很多观点都会带有个人知识水平的局限性,如果有说错的地方,请大方的指出来,或者您也可以写下你在这个行业的领悟,我最后希望这篇文章能帮助高考的孩子或...

iOS学习笔记37-时间和日期计算_diaohuo9052的博客-程序员资料

一、时间和日期计算我们在应用开发中,时常需要和时间打交道,比如获取当前时间,获取两个时间点相隔的时间等等,在iOS开发中与时间相关的类有如下几个:NSDate:表示一个绝对的时间点NSTimeZone:时区信息NSLocale:本地化信息NSDateComponents:一个封装了具体年月日、时秒分、周、季度等的类NSCalendar:日历类,它提供了大部分的日期计算接口...

基于Bootstrap和animate.css的模态框动画效果_animate bootstrap_机械键盘侠的博客-程序员资料

最近在网上看到了可以对Bootstrap模态框增加打开和关闭的动画效果,故记录一下。原文地址点这里 此动画效果需要引入animate.css,可以在animate.css官方网址中点击下载animate.css.这篇文章和这篇有对animate的简介。将如下代码放入JS文件全局引入://animate.css动画触动一次方法$.fn.extend({ a...

随便推点

Java使用EasyExcel导出Excel表格_Ellis_li的博客-程序员资料

前端代码/** *导出excel 用过layui的都看的懂 */function exports() { layer.confirm('确定导出所有策略的信息?', { btn: ['确定', '取消'] }, function(index){ //按钮【按钮一】的回调 location.href=prefix + '/ex...

用PyTorch实现多层网络:从感知机到多层神经网络_misite_J的博客-程序员资料

概念理解感知机感知机(perceptron)是二分类的线性分类模型,输入为实例的特征向量,输出为实例的类别(取+1和-1)。感知机对应于输入空间中将实例划分为两类的分离超平面。感知机旨在求出该超平面,为求得超平面导入了基于误分类的损失函数,利用梯度下降法 对损失函数进行最优化(最优化)。从神经网络模型的角度看,感知机是最简单的分类模型。多层感知机多层感知器(Multilayer P...

package.json和package-lock.json的区别(一)_cocos creator 扩展包package-lock.json 和 package_weixin_39407291的博客-程序员资料

node项目下面有一个package-lock.json文件,和package.json文件,扒一扒这两个的区别,其实package-lock就是锁定安装时的包版本号,需要上传到git上,以保证其他人在install时候,大家的依赖版本相同。官方文档:这个package-lock.json 是在 npm install时候生成一份文件,用以记录当前状态下实际安装的各个npm package的具体...

Nacos___追梦人的博客-程序员资料

一:微服务1.0:单体架构MVC架构,分层开发,所有的功能都在一个系统里面优点:1:部署简单: 由于是完整的结构体,可以直接部署在一个服务器上即可。2:技术单一: 项目不需要复杂的技术栈,往往一套熟悉的技术栈就可以完成开发。3:用人成本低: 单个程序员可以完成业务接口到数据库的整个流程。缺点:1:系统启动慢, 一个进程包含了所有的业务逻辑,涉及到的启动模块过多,导致系统的启动、重启时间周期过长;2:系统错误隔离性差、可用性差,任何一个模块的错误均可能造成整个系统的宕机;3:可伸缩性

iOS 读取图片 exif 信息_旺仔饼饼的博客-程序员资料

1.Exif简介可交换图像文件格式常被简称为Exif(Exchangeable image file format),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。Exif可以附加于JPEG、TIFF、RIFF、EXIF、GPS等文件之中,为其增加有关数码相机拍摄信息的内容和索引图或图像处理软件的版本信息。Exif信息以0xFFE1作为开头标记,后两个字节表示Ex

linux 减小根分区大小_linux 调整根分区大小方法(非LVM)_weixin_39548805的博客-程序员资料

机制解析附两个脚本:1、upgradePkg.sh#!/bin/bashecho"Starttomodifytheinitrdfile....."mkdir./initrdTmpinitrdName=`ls/boot|grepinitrd.img-`cp/boot/$initrdName./initrdTmp/$initrdName.gzgunzip./initrdTm...

推荐文章

热门文章

相关标签