2016-12-30 73 views
0

我使用SDWebImage代碼,從互聯網下載圖像。 林在Xcode 8和斯威夫特3.SDWebImage完成塊

這樣做我想調整它,一旦它被下載,但我不能有圖像大小,直到我下載圖像。 (使其按比例調整大小)

所以,我的問題是,有沒有辦法有一個完成塊來執行一些代碼時,圖像已完成下載?我似乎無法找到關於下載完成的github項目信息。

謝謝!

回答

2

我找到了!張貼它以防別人需要它。

我用這個從網絡

imgView.sd_setImage(with: URL(string: news.imageURL)) 

但對負載加載和有完成塊我需要做的:

imgView.sd_setImage(with: URL(string: news.imageURL)) { (image, error, cache, url) in 
      // Your code inside completion block 
     } 
3

下面是一些代碼右出的SDWebImage示例文件之一,你可以在這裏找到更多的例子:https://github.com/rs/SDWebImage/tree/master/Examples

斯威夫特版本:

imageView.sd_setImageWithURL(NSURL(string: urlString), completed: { 
       (image, error, cacheType, url) in 
       // your code 
      }) 

Objective-C的版本:

- (void)configureView 
{ 
    if (self.imageURL) { 
     __block UIActivityIndicatorView *activityIndicator; 
     __weak UIImageView *weakImageView = self.imageView; 
     [self.imageView sd_setImageWithURL:self.imageURL 
          placeholderImage:nil 
            options:SDWebImageProgressiveDownload 
            progress:^(NSInteger receivedSize, NSInteger expectedSize, NSURL *targetURL) { 
             if (!activityIndicator) { 
              [weakImageView addSubview:activityIndicator = [UIActivityIndicatorView.alloc initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]]; 
              activityIndicator.center = weakImageView.center; 
              [activityIndicator startAnimating]; 
             } 
            } 
           completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { 
            [activityIndicator removeFromSuperview]; 
            activityIndicator = nil; 
           }]; 
    } 
} 

希望這會有所幫助。

+1

嗨,你對雨燕的代碼? –