我使用库SDWebImage下载图像。
我将下载的图像设置为cellForItemAtIndexPath中的UICollectionViewCell,但是在滚动CollectionView之后图像是可见的。我认为我必须重新加载那个特定的细胞,但不知道如何。
这是UICollectionViewCell的代码
[imgView setImageWithURL:[NSURL URLWithString:imgUrl]
placeholderImage:[UIImage imageNamed:@"YourPlaceholder.png"]
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
//... completion code here ...
cell.image = imgView.image;
//Reload The cell to see the image downloaded ¿HOW?
}];
MJCollectionViewCell.m的代码
- (void)setImage:(UIImage *)image
{
// Store image
self.MJImageView.image = image;
// Update padding
[self setImageOffset:self.imageOffset];
}
知道怎么解决吗?
答案 0 :(得分:1)
我遇到了同样的问题。
解决方案:[cell setNeedsLayout];
答案 1 :(得分:1)
dispatch_async(dispatch_get_main_queue(), ^{
cell.image = imgView.image;
});
或使用- (void)reloadItemsAtIndexPaths:(NSArray *)indexPaths
重新加载
[collectionView reloadItemsAtIndexPaths:YourIndexPath];
答案 2 :(得分:0)
您必须升级SDWebImage,您的版本不适用于iOS8。 下载最后一个SDWebImage库,改为使用sd_setImageWithURL方法。