[九九Tips] - 监听ScrollView滚动结束的2种代理

2016-07-08  本文已影响532人  九九丸子

[九九Tips]- http://www.jianshu.com/users/bab86b3e8aa3/latest_articles

ScrollView滚动结束的2种代理方法scrollViewDidEndScrollingAnimation和scrollViewDidEndDecelerating的比较

在scrollView滚动动画结束时, 会调用下面两种代理方法

//第一种
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
{    
}
//第二种
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
}

两个方法发区别:

第一种: 必须是使用setContentOffset:animated:方法或者scrollRectVisible:animated:方法让scrollView方法的产生的滚动动画,在动画结束的时候会调用该方法.
第二种:必须人为拖拽scrollView产生的滚动动画,动画结束会调用第二种方法.

举例:

用下面这种动画设置ScrollView的滚动,不会调用上面两种滚动结束的代理方法!

  [UIView animateWithDuration:0.25 animations:^{
               self.scrollView.contentSize = CGPoint;
    }];

用下面这个方法,就会调用第一种结束滚动方法(DidEndScrollingAnimation).

   [self.scrollView setContentOffset:CGPoint animated:YES];
上一篇下一篇

猜你喜欢

热点阅读