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小於或者大於某一個值,則執行某個操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM