0

我有一个收藏视图。在 cellForRow 方法中,我在 collectionViewCell 中设置了一个对象。该对象的设置器获取对象的图像 url 并使用 AFNetworking 异步下载图像。(设置器在自定义单元子类中)

但是,当我下载新图像并重新加载数据时,我必须向下滚动才能加载正确的图像...有时图像会更改单元格或重复(但我知道该单元格中的对象不会更改,因为对象标题是预期的。

怎么了?

4

2 回答 2

2

如果您希望图像在不重新加载单元格(或向下滚动)的情况下换出,您需要调用:

[self.imageView setImageWithURL:<#some url#> placeholderImage:<#placeholder image same size as imageview#>];

AFNetworking 负责缓存图像,因此您可以在每次调用 cellForRow 时安全地调用相同的设置器(以避免图像在不同的单元格上重用)

注意:重要的是占位符图像与 imageView 的大小相同 - 您的图像将被换出。

于 2013-06-16T08:03:24.650 回答
0

我认为这可能主要是因为在 collectionview 中重用了单元格。尝试将image自定义单元格的属性设置为nil之后dequeueReusableCellWithReuseIdentifier:

于 2013-06-16T06:20:54.690 回答