2015-08-11 2 views
4

Документы не разрезают его для меня. Может ли кто-нибудь дать мне пример кода или пример создания экземпляра загрузчика SDWebImage и использования метода downloadImageWithURL?Comprehending SDWebImage загрузчик

ответ

5

Я создал класс для этого, но вот как я использую его:

- (void)setImageURL:(NSURL *)imageURL { 
    _imageURL = imageURL; 
    self.image = nil; 
    [self.layer removeAllAnimations]; 

    if (!imageURL) { 
     self.image = self.placeHolderImage; 
     return; 
    } 

    __weak SDImageView *weakself = self; 

    self.progressView.hidden = NO; 

    SDWebImageDownloaderProgressBlock progressBlock = 
    ^(NSInteger receivedSize, NSInteger expectedSize) { 
     if (expectedSize > 0) { 
      float progress = receivedSize/(float)expectedSize; 
      weakself.progressView.progress = MAX(MIN(1, progress), 0); 
     } 
    }; 

    SDWebImageCompletionWithFinishedBlock successBlock = 
    ^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) { 
     if (!image) image = self.placeHolderImage; 

     weakself.imageOperation = nil; 
     weakself.progressView.hidden = YES; 
     weakself.progressView.progress = 0.f; 

     if (cacheType == SDImageCacheTypeNone && !error) { 
      [UIView transitionWithView:self 
           duration:1.f 
           options:UIViewAnimationOptionTransitionCrossDissolve 
          animations:^{ 
           weakself.image = image; 
          } completion:nil]; 
     } else { 
      weakself.image = image; 
     } 
    }; 

    SDWebImageManager *manager = [SDWebImageManager sharedManager]; 
    self.imageOperation = [manager downloadImageWithURL:imageURL 
               options:SDWebImageRetryFailed 
               progress:progressBlock 
               completed:successBlock]; 
} 
+1

Высокий. Это то, что я хотел видеть. –

+0

Что делать, если я хочу загрузить изображение из Интернета и сохранить его в файловом менеджере для дальнейшего использования? –

0

Что вы пытаетесь сделать? Дайте нам более подробную информацию.

Stackoverflow: https://stackoverflow.com/a/27617962/846780

Github: https://github.com/ZuYuanZhou/testSD

+0

Как я могу загружать изображения с помощью SDImages? Могу ли я иметь только опции для загрузки изображения AFNetworking? –

+0

@iosdeveloper SDWebImage - это «Асинхронный загрузчик изображений с поддержкой кеша в качестве категории UIImageView». Я не загружаю изображения. Для загрузки изображения вы можете использовать многие другие библиотеки (например, AFNetworking). – Klevison

Смежные вопросы