zoukankan      html  css  js  c++  java
  • 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小于或者大于某一个值,则执行某个操作

  • 相关阅读:
    【WEBI专题】解决在交叉表中计算占比、偏差、率的问题
    前导零的问题(增加/删除)
    在SAP BW中使用ABAP
    如何组织维度
    BEx Query Designer中的变量及其增强
    《魔幻手机》经典台词摘录
    今天发现了VISTA系统的一个BUG
    Online Tools And Sofrware Directory Entry
    [转载]博客园通过Word 2007发布随笔
    为你的程序增加记忆功能
  • 原文地址:https://www.cnblogs.com/gatsbywang/p/5504285.html
Copyright © 2011-2022 走看看