码迷,mamicode.com
首页 > 其他好文 > 详细

UI:DidEndDragging 和DidEndDecelerating以及DidScroll的区别

时间:2015-01-27 09:25:21      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

最近在写一个新闻app的界面,发现自己在学习上还存在一些问题,有的方法容易混淆,比如关于scrollView的滚动:


(1)-(void)scrollViewDidScroll:(UIScrollView *)scrollView

scrollView滚动时,就调用该方法。任何offset值改变都调用该方法。即滚动过程中,调用多次

默认是在scrollview拖动的时候会被调用,如果不执行的话 检查 scrollview.delegate = self;设置没设置,或者检查XIB中File‘s Owner。

这句在滑动scrollview的时候会执行多次 在调用这个方法进行处理时容易卡死,不好用。


(2)-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

 滚动视图减速完成,滚动将停止时,调用该方法。一次有效滑动,只执行一次。


(3)-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

 滑动视图,当手指离开屏幕那一霎那,调用该方法。一次有效滑动,只执行一次。
 decelerate,指代,当我们手指离开那一瞬后,视图是否还将继续向前滚动(一段距离),经过测试,decelerate=YES


(2)和(3)的区别:

(别人的分析)看名字就不一样 第一个DidEndDragging 停止拖拽的时候开始执行

户手指离开 屏幕  将要加速 或者是不到减速的时候



DidEndDecelerating 减速停止的时候开始执行

也就是说 它俩执行的时间不一样 scrollview 先是执行 停止拖拽的代理 然后在执行减速停止的代理


UI:DidEndDragging 和DidEndDecelerating以及DidScroll的区别

标签:

原文地址:http://blog.csdn.net/ytuzhangziyao/article/details/43190643

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!