我有一个带有自定义 UICollectionViewCell 类的 UICollectionView,它将另一个 UIView (thumbnailView) 添加到它的 contentView。这个另一个视图有一个 UIImageView 属性(imageView),它的图像通过 SDWebImage 异步加载。这一切都可以正常工作,直到在原始单元格的图像仍在加载时重新使用单元格。如果您在 CollectionView 中滚动的速度足够快,图像开始在不应该出现的单元格中弹出(可能是因为单元格被重用并且图像下载随后完成),只是为了在重用图像的正确图像后立即被替换单元格完成加载。
为了解决这个问题,我将以下内容添加到我的 UICollectionViewCell 子类中以停止原始单元格的图像下载:
- (void)prepareForReuse
{
[super prepareForReuse];
[self.thumbnailView.imageView cancelCurrentImageLoad];
}
但令我惊讶的是,这似乎完全没有改变。我做错了什么还是我只是看错了方向?