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];
}