8

使用上一个问题的答案,我做了一个无限滚动。但是,滚动时出现问题。

似乎有一毫秒,UICollectionView(或者可能是UIScrollView那个问题)认为显示的单元格不再可见,因此将单元格重用于新单元格。这导致滚动时单元格被双重使用。我认为这是我的问题的原因是因为为了能够无限滚动而使用的“作弊”是重置contentOffset.UIScollView

my 的单元格UICollectionView包含一个背景图像,该图像使用MKNetworkKit. 另一个副作用之一是,当连续滚动视图“屏幕长度”时,屏幕会被截断。几乎就像在 中发生了 reloadData 一样UIScrollView,但代码根本没有重新加载数据。

我的问题是:如何防止UICollectionView重用可见单元格和突然截断视图?

4

2 回答 2

1

有 2 个重用标识符。当您重置它们之间的contentOffset切换时。

于 2013-04-13T10:39:01.333 回答
0

看起来我在旋转设备时看到重用可见单元格。我用来自网络图像搜索的图像填充屏幕,并使用固定尺寸来准确填充纵向和横向的 UICollectionView 边界。但是拉伸图像会丢失我设置的大小,并且在旋转(也称为重新加载数据)时看到重复使用或更多单元格。我在重新加载之前(在collectionView:numberOfItemsInSection :)从我想要的图像数量计算当前图像大小来解决它。准确的图像适合防止我额外的负载和重用。

于 2013-04-18T09:05:42.387 回答