我在 UITableViewCell 中使用 UICollectionView 在 tableviewcell 中显示图像。在后台下载照片时,活动指示器应为动画且不显示图像。下载照片后,活动指示器应停止动画并显示照片。除了第一次显示第一个单元格外,一切正常。显示图像并且活动指示器保持动画。如果我滚动 collectionView,它适用于其他图像,当我滚动回第一张图像时,它也适用。仅在第一次显示第一张图片时
collectionview 内的单元格称为 PhotoCollectionView ,标题如下所示:
@interface PhotoCollectionCell : UICollectionViewCell
@property (strong, nonatomic) IBOutlet UIImageView *imageView;
@property (strong, nonatomic) IBOutlet UIActivityIndicatorView *activityIndicator;
@end
cellForItemAtIndexPath 的代码
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"PhotoCollectionCell";
PhotoCollectionCell *cell = (PhotoCollectionCell *)[collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
cell.imageView.image = nil;
UIImage *image = [thumbnails objectForKey:indexPath];
if(!image) {
[cell.activityIndicator startAnimating];
if (self.pictureCollectionView.dragging == NO && self.pictureCollectionView.decelerating == NO)
{
[self startDownload:images[indexPath.row] forIndexPath:indexPath];
}
} else {
[cell.activityIndicator stopAnimating];
cell.imageView.image = image;
}
return cell;
}
我尝试了网上给出的几种解决方案,一切都在主线程上执行,所以我不知道该怎么办了。
帮助将不胜感激。提前致谢。亲切的问候...