Я использую NINetworkImageView от Nimbuskit. У меня есть простой UICollectionView, показывающий сетку изображений (NINetworkImageViews). Обычно это работает как шарм, но в определенных ситуациях некоторые из NINetworkImageViews показывают неправильное изображение.
Я думаю, это происходит, когда для изображения нет пути, и NINetworkImageView должен показывать изображение по умолчанию. Иногда (несколько раз) вместо отображения изображения по умолчанию появляется другое изображение, принадлежащее другому NINetworkImageView CollectionView.
Вот соответствующий код:
- (UICollectionViewCell*) collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"ShelvingCell";
ShelvingCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];
// Prueba para ver si esto arregla lo de que se repitan imágenes
[cell.feedNetworkImageView prepareForReuse];
cell.feedNetworkImageView.delegate = self;
// El collage necesita un tratamiento especial
if (indexPath.section == 0 && indexPath.row == 0)
{
cell.feedTitleLabel.text = @"";
cell.lastFeedNewTitleLabel.text = @"";
// Prueba para ver si esto arregla lo de que se repitan imágenes
[cell.feedNetworkImageView setPathToNetworkImage:@""];
// Prueba para ver si esto arregla lo de que se repitan imágenes
[cell.feedNetworkImageView prepareForReuse];
cell.feedNetworkImageView.image = [UIImage imageNamed:@"collage.png"];
}
else
{
MOFeed *feed = [self.feeds objectAtIndex:(indexPath.section*3 + indexPath.row - 1)];
cell.feedTitleLabel.text = feed.title;
// Recuperamos la última noticia del feed
MONoticia *ultimaNoticia = [feed lastFeedNew];
cell.lastFeedNewTitleLabel.text = ultimaNoticia.title;
if (![feed.feedImageURL isEqualToString:@""] && feed.feedImageURL)
{
// Prueba para ver si esto arregla lo de que se repitan imágenes
[cell.feedNetworkImageView prepareForReuse];
[cell.feedNetworkImageView setPathToNetworkImage:feed.feedImageURL];
}
else
{
// Prueba para ver si esto arregla lo de que se repitan imágenes
[cell.feedNetworkImageView prepareForReuse];
cell.feedNetworkImageView.image = [UIImage imageNamed:@"shelvingcell.png"];
// Prueba para ver si esto arregla lo de que se repitan imágenes
[cell.feedNetworkImageView setPathToNetworkImage:@""];
}
}
return cell;
}
Большое спасибо!
Карлос