使用a previous question的答案,我做了一个无限卷轴。但是,滚动时我遇到了问题。
似乎在一毫秒内,UICollectionView
(或者可能是UIScrollView
)认为所显示的细胞不再可见,因此将细胞重新用于新细胞。这导致在滚动时双重使用单元格。
我认为这是我的问题的原因是因为为了能够无限滚动而使用的“作弊”是重置contentOffset
的{{1}}。
我的UIScollView
的单元格包含一个背景图像,使用UICollectionView
异步下载(从缓存中获取)。
另一个副作用是当连续滚动视图“屏幕长度”时,屏幕会被截断。几乎就像在MKNetworkKit
中发生了reloadData,但代码根本没有重新加载数据。
我的问题是:如何阻止UIScrollView
重复使用可见单元格并突然截断视图?
答案 0 :(得分:1)
有2个重用标识符。当您重置contentOffset
之间的切换时。
答案 1 :(得分:0)
看起来我在旋转设备时看到了重复使用可见细胞。 我在屏幕上显示来自网络图像搜索的图像,并使用固定尺寸来准确填充UICollectionView边界的纵向和横向。但是拉伸图像的大小我设置了一点,我在旋转时看到了重复使用或更多的单元格(也就是重新加载数据)。 我正在重新加载之前计算当前图像大小(在collectionView:numberOfItemsInSection :)从我想要的图像量解决它。准确的图像配合可以防止我额外负载和重复使用。