最近在写一个新闻app的界面,发现自己在学习上还存在一些问题,有的方法容易混淆,比如关于scrollView的滚动:
(1)-(void)scrollViewDidScroll:(UIScrollView *)scrollView
scrollView滚动时,就调用该方法。任何offset值改变都调用该方法。即滚动过程中,调用多次
默认是在scrollview拖动的时候会被调用,如果不执行的话
检查 scrollview.delegate = self;设置没设置,或者检查XIB中File‘s Owner。
(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