了解如何判断UICollectionView是否正在滚动

9

在iOS中,有没有一种方式可以知道UICollectionView是否正在滚动?

我想知道这个,因为我在每个UICollectionCell中加载从Web下载的图像,但如果CollectionView很大并且我滚动到底部,它会开始下载每个图像,如果我更改视图,则必须等待先前的下载,这会减慢应用程序速度,不太好,哈哈:D

谢谢,对我的英语感到抱歉;)

3个回答

22

正如前面的帖子提到的那样,UICollectionView 是从 UIScrollView 继承而来,因此我认为您可以查看一些 UIScrollView 方法:

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

编辑:

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

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

整洁明了的方法。很好的答案。 - Anon
不错的解决方案,但在使用 setContentOffset 时无法正常工作。 - testing
2
现在是 BOOL isScrolling = (cv.dragging || cv.decelerating); 对吧?我不知道它是否在某个时候发生了变化,但这就是我在 UIScrollView 中看到的。 - Cymen
如果集合视图由于调用setContentOffset:animated而滚动,则此方法无效。 - Axy

5

针对Swift语言

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

-1

3
请在这里添加简要概述。在SO上,不鼓励使用仅链接的答案。 - Litmus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接