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快速滑动(暴力用户,暴力测试)的更多相关文章

  1. 使用Style自定义ListView快速滑动图标

    一.显示ListView快速滑动块图标 设想这样一个场景,当ListView的内容有大于100页的情况下,如果想滑动到第80页,用手指滑动到指定位置,无疑是一件很费时的事情,如果想快速滑动到指定的位置 ...

  2. 一行代码,让你的应用中UIScrollView的滑动与侧滑返回并存

    侧滑返回是iOS系统的一个很贴心的功能,特别是在大屏手机上,单手操作的时候去按左上角的返回键特别不方便.当我在使用一个APP的时候,如果控制器不能侧滑返回,我会觉得这个APP十分不友好...这款产品在 ...

  3. iOS 全屏侧滑/UIScrollView/UISlider间滑动冲突

    代码地址如下:http://www.demodashi.com/demo/13848.html 效果预览 一.前期准备 有一个支持全屏侧滑返回的视图控制器ViewController,ViewCont ...

  4. IOS中UIScrollView的详细使用

    UIScrollView 是可以滚动的View 要想让UIScrollView可以滚动,必须设置UIScrollView的contentSize contentSize : 表示UIScrollVie ...

  5. iOS UIScrollView 停止滑动 减速

    1.UIScrollView 减速 可能通过decelerationRate的属性来设置,它的值域是(0.0,1.0),当decelerationRate设置为0.1时,当手指touch up时就会很 ...

  6. IOS中UIScrollView的contentSize、contentOffset和contentInset属性

    IOS中,UIScrollView是可以滚动的视图,其中最常用的UITableView就是继承了UIScrollView. 跟所有的view一样,UIScrollView有一个frame属 性,同时, ...

  7. IOS中position:fixed吸底时的滑动出现抖动的解决方案

    H5方法: //吸顶头部 .header{ width:100%; height:50px; position:fixed; top:0px; } //main滑动区域 .main{ width:10 ...

  8. ios 中的小技巧 - 总有你想要的 一

    UITableView的Group样式下顶部空白处理 在viewWillAppear里面添加如下代码: //分组列表头部空白处理 CGRect frame = myTableView.tableHea ...

  9. iOS开发之多表视图滑动切换示例(仿"头条"客户端)---优化篇

    前几天发布了一篇iOS开发之多表视图滑动切换示例(仿"头条"客户端)的博客,之所以写这篇博客,是因为一位iOS初学者提了一个问题,简单的写了个demo做了个示范,让其在基础上做扩展 ...

随机推荐

  1. 汇编程序w=x*y+z-200

    DATA   SEGMENTX      DW  1000Y      DW  2000Z      DW  3000W      DW  2 DUP(?)DATA   ENDSCODE   SEGM ...

  2. CountDownLatch 和 CyclicBarrier 的运用及实现原理

    I.CountDownLatch 和 CyclicBarrier 的运用 CountDownlatch: 定义: 其是一个线程同步的辅助工具,通过它可以做到使一条线程一直阻塞等待,直到其他线程完成其所 ...

  3. linux处理闰秒

    闰秒的介绍可以参考维基百科 https://zh.wikipedia.org/wiki/闰秒 linux处理闰秒 Linux使用UTC时钟,并通过NTP (Network time protocol) ...

  4. ajax切换明星头像!

    html部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  5. Activity完整的生命周期

    首语:群里看到一位网友说:你能说出Activity的完整生命周期吗?看到这句话,我也在反思自己,我也是个fresh,所以想找个时间仔细的扒一扒Activity生命周期. 首先拿一张简单而又复杂的生命周 ...

  6. Egret 入门

    居然使用 TyptScript... 先贴手册地址:http://www.typescriptlang.org/docs/tutorial.html. 先要接受一个诡异的写法: private loa ...

  7. SAE、搜狐云景和百度云之初见

    近期有需求将我们的应用部署到公有云的服务平台上,于是找了几家公有云服务做了一下调研, 首先对比一下他们提供的功能: 功能 SAE 搜狐云景 百度云 版本控制工具 svn  GIT,和百度云的比起来,用 ...

  8. 转:45 Useful JavaScript Tips, Tricks and Best Practices

    原文来自于:http://flippinawesome.org/2013/12/23/45-useful-javascript-tips-tricks-and-best-practices/ 1 – ...

  9. [转]为什么移动Web 应用程序很慢

    原文出处: Herb Sutter   译文出处: tangzhnju 我写过不少文章来讨论为什么移动Web应用程序很慢,这也引起了不少的讨论.但是不幸的是,这些讨论没有像我喜欢的那样的基于事实. 所 ...

  10. JavaScript注意事项

    var m = "false"; Boolean(m); // true而非 false ajax不能设置setRequestHeaders("Cookie", ...