2016-03-11 2 views
0

Привет всем Я новичок в IOS Development, и у меня есть UICollection, где я загружаю изображения с помощью SDWebImageCache. Проблема в том, что моя ячейка UICollectionview чувствует себя дрожащей или дрожащей, прокручивая ее быстро. Ниже я отправляю мой код для загрузки изображений с SDWebImageCacheЯчейки UICollectionView подергиваются при прокрутке UICollectionView

[_homeCellImage sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@",[dictionary objectForKey:@"user_image"],[QPCommonClass cropImageWithWidth:500 andHeight:500]]] placeholderImage:[UIImage imageNamed:@"defaultIcon"]]; 
    [_qpQuestionImage sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@",[dictionary objectForKey:@"image"],[QPCommonClass cropImageWithWidth:1400 andHeight:1200]]] placeholderImage:[UIImage imageNamed:@"question"] options:0 completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL){ 
     [_qpHomeActivityIndicator setHidden:YES]; 
     [_qpHomeActivityIndicator stopAnimating]; 

    }]; 

где _homeCellImage & _qpQuestionImage являются UIImageViews

+0

Комментирует ли вышеуказанные строки удаление подергивания? –

ответ

0

Попробуйте сделать как this--

[_homeCellImage setShowActivityIndicatorView:YES]; 

[_homeCellImage setIndicatorStyle:UIActivityIndicatorViewStyleGray]; 

[_homeCellImage sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@",[dictionary objectForKey:@"user_image"],[QPCommonClass cropImageWithWidth:500 andHeight:500]]] placeholderImage:[UIImage imageNamed:@"defaultIcon"] options:SDWebImageRefreshCached]; 

[_qpQuestionImage setShowActivityIndicatorView:YES]; 

[_qpQuestionImage setIndicatorStyle:UIActivityIndicatorViewStyleGray]; 

[_qpQuestionImage sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@",[dictionary objectForKey:@"image"],[QPCommonClass cropImageWithWidth:1400 andHeight:1200]]] placeholderImage:[UIImage imageNamed:@"question"] options:SDWebImageRefreshCached]; 
2
  1. Убедитесь, что загрузить изображение в фоновом потоке.
  2. Как только изображение загрузится, обязательно его кешируйте.

Теперь, когда вы устанавливаете изображение через cellForItem, изображение может быть загружено непосредственно из кеша, и оно должно быть намного более плавным.

0

Вы должны добавить эти 2 строки после вашего dequeue.

cell.layer.shouldRasterize = YES; 
cell.layer.rasterizationScale = [UIScreen mainScreen].scale;