知道 UICollectionView 是不是正在滚动

Posted

技术标签:

【中文标题】知道 UICollectionView 是不是正在滚动【英文标题】:Know if UICollectionView is scrolling知道 UICollectionView 是否正在滚动 【发布时间】:2013-11-14 16:02:48 【问题描述】:

ios 中有没有办法知道 UICollectionView 是否正在滚动?

我想知道它,因为我在每个 UICollectionCell 中加载从 Web 下载的图像,但是如果集合视图很大并且我滚动到最后它开始下载每个图像,如果我更改视图,我必须等待以前的下载,这会减慢应用程序的速度并且不酷,哈哈:D

感谢和抱歉我的英语;)

【问题讨论】:

【参考方案1】:

正如上一篇文章提到的,UICollectionView 继承自 UIScrollView,所以我认为您可以检查几个 UIScrollView 方法:

 BOOL isScrolling = (cv.isDragging || cv.isDecelerating);

编辑: 正如评论所提到的,API 现在是:

BOOL isScrolling = (cv.dragging || cv.decelerating);

【讨论】:

整洁干净的方法。很好的答案。 不错的解决方案,虽然在使用setContentOffset 时不起作用。 现在是BOOL isScrolling = (cv.dragging || cv.decelerating); 对吧?我不知道它是否在某个时候发生了变化,但这就是我看到的UIScrollView 如果collectionview由于调用setContentOffset:animated而滚动,这不起作用【参考方案2】:

对于斯威夫特

let isScrolling: Bool = colView.isDragging || colView.isDecelerating

【讨论】:

【参考方案3】:

这可能会对您有所帮助,因为 UICollectionView 继承自 UIScrollView https://***.com/a/19061527/2916429

【讨论】:

[评论评论]:请在此处添加概要。 SO 上不鼓励仅链接的答案

以上是关于知道 UICollectionView 是不是正在滚动的主要内容,如果未能解决你的问题,请参考以下文章

UICollectionView 是不是会滚动识别

选择单元格时 UICollectionView 正在滚动

显示黑屏而不是 UICollectionView

UICollectionView 单元格垂直排列而不是网格

如何检测最后一个单元格是不是在 UICollectionView 中可见?

UICollectionView 页眉和页脚视图