首页 > 代码库 > UI:DidEndDragging 和DidEndDecelerating以及DidScroll的区别
UI:DidEndDragging 和DidEndDecelerating以及DidScroll的区别
最近在写一个新闻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的区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。