【问题标题】:Reload cell of CollectionView after image is downloaded下载图片后重新加载 CollectionView 的单元格
【发布时间】:2014-10-19 21:48:05
【问题描述】:

我正在使用库 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];
}

知道怎么解决吗?

【问题讨论】:

  • - (void)reloadItemsAtIndexPaths:(NSArray *)indexPaths

标签: ios objective-c xcode uicollectionview uicollectionviewcell


【解决方案1】:

我遇到了同样的问题。

解决方法:[cell setNeedsLayout];

【讨论】:

    【解决方案2】:

    你试过做这样的事情吗?

    dispatch_async(dispatch_get_main_queue(), ^{
        cell.image = imgView.image;
    });
    

    或使用- (void)reloadItemsAtIndexPaths:(NSArray *)indexPathslike 重新加载

    [collectionView reloadItemsAtIndexPaths:YourIndexPath];
    

    【讨论】:

      【解决方案3】:

      您必须升级 SDWebImage,您的版本不适用于 iOS8。 下载最后一个 SDWebImage 库,改用 sd_setImageWithURL 方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-06-23
        • 2011-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-06
        相关资源
        最近更新 更多