在collectionView中加载图像

时间:2018-04-03 19:39:04

标签: ios objective-c uitableview asynchronous uicollectionview

每个UITableViewCell都包含UICollectionView。无法弄清楚为什么某些UICollectionViewCell图像没有显示出来。我正在使用SDWebImage库来加载图片。方法- (void)sd_setImageWithURL:(NSURL *)url调用[self sd_cancelCurrentImageLoad];。我认为取消之前的请求是问题所在,但请阅读会产生竞争条件的地方。每个UITableViewCell都不会出现问题,如果我点击单元格获取详细信息并返回,则图像会填满。也许我需要在某处重新加载数据。关于如何解决这个问题的任何提示?
enter image description here

2 个答案:

答案 0 :(得分:1)

如果您尝试从服务器对fatch进行映像以尝试此操作。

#import "UIImageView+WebCache.h"

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
NewProfileCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];


[cell.img_user_image sd_setImageWithURL:[NSURL URLWithString:[mutDict valueForKey:@"UserImageURL"][indexPath.row]] placeholderImage:[UIImage imageNamed:@"No_IMAGE_PLACE"]];

return cell;
}

答案 1 :(得分:0)

试一试:

- (void)prepareForReuse
{
    [super prepareForReuse];
    [self.imageView cancelCurrentImageLoad];
    [self.imageView setImage:[UIImage imageNamed:@""] forState:UIControlStateNormal]; // Placeholder image
}