scrollView停止滑动监听

// 用户停止拖拽(已经松手)

// 但是并不意味着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停止滚动了");

}

你可能感兴趣的:(scrollView停止滑动监听)