2015-04-16 1 views
2

Внутри моего метода у меня есть следующий код.TableCell ImageView Установить изображение с URL: SDWebImage: изменение размера первой строки

Он отлично работает на записи строки в первом куске, однако оставшиеся ячейки не изменяются.

HOWEVER, когда я начинаю прокрутку, они делают. Я не могу понять, почему. Есть что-то еще, что мне нужно делать?

[cell.imageView sd_setImageWithURL:url 
        placeholderImage: [UIImage imageNamed:@"default.png"] 
         completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { 

          if (image) { 

           NSLog(@"%@", account); 

           CGSize itemSize = CGSizeMake(32, 32); 
           UIGraphicsBeginImageContext(itemSize); 
           CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height); 
           [image drawInRect:imageRect]; 
           cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext(); 
           UIGraphicsEndImageContext(); 
           cell.imageView.layer.cornerRadius = 16; 
           cell.imageView.clipsToBounds = YES; 
          } 
    }]; 

ответ

0

У меня была та же проблема. Завершенный блок SDWebImage не запускается в потоке пользовательского интерфейса, и, следовательно, обновления ui не попадают на экран.

Добавление следующее в блоке завершения ее решил для меня:

dispatch_async(dispatch_get_main_queue(), ^{ 
    [cell setNeedsLayout]; 
}); 

Е.Г. необходимо отправить запрос на ретрансляцию ячейки к нити ui.