无法从UICollectionViewCell

时间:2016-02-24 01:02:18

标签: ios objective-c uiimageview uicollectionview uicollectionviewcell

我有一个UICollectionView,其中每个单元格都有一个UIImageView对象。当呈现新单元格时,必须从网络上加载图像,因此我希望在加载图像时单元格为黑色。

我已经实现了这一点,但是不是从黑色开始,单元格从随机的先前图像开始并转换到新图像。

这是我的代码:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {

  GalleryCVCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:kGalleryCellIdentifier forIndexPath:indexPath];
  cell.backgroundColor = [UIColor black];
  cell.tag = indexPath.row;
  cell.imageView.image = nil;

  [Util fetchPhoto:urls[indexPath.row] completion:^(UIImage* image){
    if (cell.tag == indexPath.row){
      cell.imageView.image = image;
    }
  }];
}

为什么没有cell.imageView.image = nil清除图像?如何让单元格每次重置为黑色视图?

1 个答案:

答案 0 :(得分:2)

尝试在UICollectionViewCell中实现以下内容:

  -(void)prepareForReuse{
      [super prepareForReuse];

      // Reset here back to default values.
  }