在 collectionView 中加载图像
Posted
技术标签:
【中文标题】在 collectionView 中加载图像【英文标题】:Loading images in collectionView 【发布时间】:2018-04-03 19:39:03 【问题描述】:每个UITableViewCell
都包含一个UICollectionView
。无法弄清楚为什么某些 UICollectionViewCell
图像没有显示。我正在使用SDWebImage
库来加载图像。方法- (void)sd_setImageWithURL:(NSURL *)url
调用[self sd_cancelCurrentImageLoad];
。我认为取消先前的请求是问题所在,但请阅读会产生竞争条件的地方。每个UITableViewCell
都不会出现问题,如果我点击单元格获取详细信息并返回,图像会填充。也许我需要在某个地方重新加载数据。关于如何解决这个问题的任何提示?
【问题讨论】:
您必须在cellForRowAtIndexPath:
中的tableView
中重新加载collectionView
。
【参考方案1】:
如果您尝试从服务器获取图像来尝试此操作。
#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;
【讨论】:
【参考方案2】:试试看:
- (void)prepareForReuse
[super prepareForReuse];
[self.imageView cancelCurrentImageLoad];
[self.imageView setImage:[UIImage imageNamed:@""] forState:UIControlStateNormal]; // Placeholder image
【讨论】:
以上是关于在 collectionView 中加载图像的主要内容,如果未能解决你的问题,请参考以下文章