ios 中如何应对UIScrollView快速滑动(暴力用户,暴力测试)
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小于或者大于某一个值,则执行某个操作
ios 中如何应对UIScrollView快速滑动(暴力用户,暴力测试)的更多相关文章
- 使用Style自定义ListView快速滑动图标
一.显示ListView快速滑动块图标 设想这样一个场景,当ListView的内容有大于100页的情况下,如果想滑动到第80页,用手指滑动到指定位置,无疑是一件很费时的事情,如果想快速滑动到指定的位置 ...
- 一行代码,让你的应用中UIScrollView的滑动与侧滑返回并存
侧滑返回是iOS系统的一个很贴心的功能,特别是在大屏手机上,单手操作的时候去按左上角的返回键特别不方便.当我在使用一个APP的时候,如果控制器不能侧滑返回,我会觉得这个APP十分不友好...这款产品在 ...
- iOS 全屏侧滑/UIScrollView/UISlider间滑动冲突
代码地址如下:http://www.demodashi.com/demo/13848.html 效果预览 一.前期准备 有一个支持全屏侧滑返回的视图控制器ViewController,ViewCont ...
- IOS中UIScrollView的详细使用
UIScrollView 是可以滚动的View 要想让UIScrollView可以滚动,必须设置UIScrollView的contentSize contentSize : 表示UIScrollVie ...
- iOS UIScrollView 停止滑动 减速
1.UIScrollView 减速 可能通过decelerationRate的属性来设置,它的值域是(0.0,1.0),当decelerationRate设置为0.1时,当手指touch up时就会很 ...
- IOS中UIScrollView的contentSize、contentOffset和contentInset属性
IOS中,UIScrollView是可以滚动的视图,其中最常用的UITableView就是继承了UIScrollView. 跟所有的view一样,UIScrollView有一个frame属 性,同时, ...
- IOS中position:fixed吸底时的滑动出现抖动的解决方案
H5方法: //吸顶头部 .header{ width:100%; height:50px; position:fixed; top:0px; } //main滑动区域 .main{ width:10 ...
- ios 中的小技巧 - 总有你想要的 一
UITableView的Group样式下顶部空白处理 在viewWillAppear里面添加如下代码: //分组列表头部空白处理 CGRect frame = myTableView.tableHea ...
- iOS开发之多表视图滑动切换示例(仿"头条"客户端)---优化篇
前几天发布了一篇iOS开发之多表视图滑动切换示例(仿"头条"客户端)的博客,之所以写这篇博客,是因为一位iOS初学者提了一个问题,简单的写了个demo做了个示范,让其在基础上做扩展 ...
随机推荐
- linux的du和df命令
今天也有同学问我Linux下查看目录大小的命令,现在也将前阵子学习到du/df两个命令总结一下吧.前阵子测试工作中有遇到过由于磁盘空间满导致程序无法执行到情况,所以使用了df和du两个命令. du查看 ...
- 初涉JavaScript模式 (6) : 原型模式 【二】
原型与in操作符 有两种方式使用in操作符:单独使用和在for-in循环中使用. 在单独使用时,in操作符会遍历实例公开(可枚举)的属性,如果找到该指定属性则返回true,无论该指定属性是存在与实例中 ...
- Groovy创建和解析json
正文: 在Groovy 1.8发布新闻中,提到Groovy增加了对JSON的支持.Dustin Marx在其博文中,讲述了这一功能的使用. 用法真的很简单,创建一个JSON对象: import gr ...
- java使用json抛出org.apache.commons.lang.exception.NestableRuntimeException解决方案
出现这个问题,说明缺少jar包,将下面的jar引入即可 commons-beanutils-1.8.3 commons-lang-2.6 (注:导入最新的 3.1 版本会继续报如下错误) common ...
- 在IE6/7/8下识别html5标签
识别html5标签: html5添加了许多语义化的标签,比如<nav></nav>,<aside></aside>,<article>< ...
- 自定义jdbc框架
获取元数据 元数据- DataBaseMetaData DatabaseMetaData meta = con.getMetaData(); getDatabaseProductName().getD ...
- TCP回射客户程序:main函数
创建套接字,装填网际网套接字地址结构 创建一个TCP套接字,用服务器的IP地址和端口号装填一个网际网套接字地址结构 我们可从命令行参数取得服务器的IP地址 从头文件unp.h取得服务器的众所周知端口号 ...
- Scut:脚本引擎
Scut 可以执行 C#.Python.Lua 三种类型的脚步,Scut 是如何加载并传递参数的呢? 首先值得注意的是:Scut 在编译时就会将逻辑层脚本源码复制到bin/Script的目录下. 1. ...
- Spring Test 整合 JUnit 4 使用
这两天做Web开发,发现通过spring进行对象管理之后,做测试变得复杂了.因为所有的Bean都需要在applicationContext.xml中加载好,之后再通过@Resource去取得.如果每次 ...
- Java获取ip地址的几种方法
以下内容介绍下java获取ip地址的几种思路. 1.直接利用java.net.InetAddress类获取,不过这种方法只在windows环境下有效,在linux环境下只能获取localhost地址( ...