我有一个集合视图。在cellForRow方法中,我在collectionViewCell中设置了一个对象。该对象的setter获取对象的图像URL并使用AFNetworking异步下载图像。 (setter在自定义单元子类中)
然而,当我下载新图像并重新加载数据时,我必须向下滚动才能加载正确的图像...有时图像会更改单元格或复制(但我知道该单元格中的对象不会更改,因为对象标题是预期的标题。
发生了什么事?
答案 0 :(得分:2)
如果您希望在不重新加载单元格的情况下换出图像(或向下滚动),则需要调用:
[self.imageView setImageWithURL:<#some url#> placeholderImage:<#placeholder image same size as imageview#>];
AFNetworking负责缓存图像,因此每次调用cellForRow时都可以安全地调用相同的setter(以避免在不同的单元格上重复使用图像)
注意:重要的是占位符图像与imageView的大小相同 - 您的图像将被换出。
答案 1 :(得分:0)
我认为这可能主要是因为集合视图重用了单元格。尝试在image
nil
属性设置为dequeueReusableCellWithReuseIdentifier: