scrollView停止滑动监听
2018-10-11 本文已影响139人
超_iOS
// 用户停止拖拽(已经松手)
// 但是并不意味着UIScrollView已经停止滚动了,每次调用此方法时,系统都会传入一个当前是否有惯性的参数(decelerate)
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;
// UIScrollView停止减速
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView; // called when scroll view grinds to a halt
- 注意:
+ 如果想在UIScrollView停止滚动之后做一些操作,有以下两种情况:
* 没有惯性:只会调用停止拖拽的方法,不会调用停止减速的方法
* 有惯性:既会调用停止拖拽的方法,也会调用停止减速的方法
+ 所以:以后要判断UIScrollView是否停止滚动,需要同时重写两个方法:
* scrollViewDidEndDragging
* scrollViewDidEndDecelerating
```objc
// 在开发中如果需要监听scrollView滚动是否停止可以这样写
- (void)scrollViewDidEndDragging:(nonnull UISrollView *)scrollView willDecelerate:(BOOL)decelerate
{
if(decelerate == NO){
[self scrollViewDidEndDecelerating:scrolView];
}else{
}
}
- (void)scrollViewDidEndDecelerating:(nonnull UIScrollView *)scrollView
{
// 在这里面写scrollView停止时需要做的事情
NSLog(@"UIScrollView停止滚动了");
}