UIScrollView停止滚动代理

2017-12-07  本文已影响121人  小明2021

Tip: 项目中需要用到当表格停止滚动的时候出来某些事件,没有一个方法是满足条件的。必须是下面四个方法同时用才OK。

这四个方法每次只会执行一个,不会重复

如果你用方法让表格滚动到某一个cell的话,这个情况没测试。

#pragma mark - 惯性停止滚动的方法  --- 下面四个方法
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
   [self beginVideoAction];
}

#pragma mark - 手指离开屏幕的方法(不管有没有惯性都执行)
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
   if (!decelerate) { // 没有惯性
       [self beginVideoAction];
   }
}

// 自动滚到屏幕上面的时候
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView {
   [self beginVideoAction];
}

/**
统一的刷新页面的方法 -- 各种情况的刷新
*/
- (void)refreshCollectionAction {
// 不同的需求,有时候需要保证当前页面已经加载完成了。
   [self.collectionView reloadData];
   [self beginVideoAction];
}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
   // 正在滚动的方法,肯定在停止滚动的方法前面执行。放心。
   [self stopAllVideoAction];
}
上一篇 下一篇

猜你喜欢

热点阅读