1

Я использую библиотеку SDWebImage для загрузки изображений.Обновить ячейку CollectionView после загрузки изображения

Я установил изображение, загруженное в UICollectionViewCell внутри cellForItemAtIndexPath, но изображение видно сразу после прокрутки 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]; 
} 

Любая идея, как решить эту проблему?

+0

'- (Недействительными) reloadItemsAtIndexPaths: (NSArray *) indexPaths' – 0yeoj

ответ

0

Вам необходимо обновить SDWebImage, ваша версия не работает с iOS8. Загрузите последнюю библиотеку SDWebImage и используйте вместо этого метод sd_setImageWithURL.

+0

Спасибо @Vincent, но это не решает мою проблему. – benLIVE

1

Я столкнулся с этой же проблемой.

Решение: [cell setNeedsLayout];

1

Вы пытались сделать что-то подобное?

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

или перегрузки с использованием - (void)reloadItemsAtIndexPaths:(NSArray *)indexPaths как

[collectionView reloadItemsAtIndexPaths:YourIndexPath]; 
Смежные вопросы