UICollectionView单元配置太多次

hpi*_*que 5 ios ios6 uicollectionview uicollectionviewcell

我注意到它多次UICollectionView调用collectionView:cellForItemAtIndexPath:它的数据源。例如,在每个layoutSubviews单元上,无论它们是否已经可见,都将对其进行“重新配置”。

collectionView:cellForItemAtIndexPath:被调用时,我们期望:

此方法的实现负责为给定项目创建,配置和返回适当的单元格。为此,您可以调用dequeueReusableCellWithReuseIdentifier:forIndexPath:集合视图的 方法,并传递与所需单元格类型相对应的重用标识符。该方法始终返回有效的单元格对象。收到单元格后,应设置与相应项目的数据相对应的任何属性,执行任何其他所需的配置,然后返回该单元格。

问题在于配置单元并不总是便宜的操作,而且我不明白为什么我应该重新配置已配置的单元。

我们如何避免单元的冗余配置?还是我无法正确理解某些内容?

Cha*_*ice 1

我认为你无法避免这一点。问题是UICollectionView太通用了,FlowLayout 并不是唯一的布局。由于您可以进行疯狂的布局,因此任何布局更改(例如布局子视图)都可能完全改变您想要的布局 - 纵向网格和横向三角形排列......知道布局应该是什么的唯一方法是找出每个单元格的位置和大小。

UICollection视图对于大量元素来说并不便宜