2016-12-30 13 views
0

Im SDWebImageコードを使用して、インターネットから画像をダウンロードします。 Xcodeの8とスウィフト3SDWebImage完了ブロック

でこれを行う イムは、私はそれをダウンロードしたら、それをリサイズしたいが、私はイメージをダウンロードするまで、私は画像の大きさを持つことができません。

だから、私の質問は、画像がダウンロードされて終了したときに、いくつかのコードを実行するために完了ブロックを持つ方法がある(それは比例サイズを変更ようにするには)?私はgithubプロジェクトのダウンロード完了の情報を見つけることができません。

ありがとうございます!ここで

答えて

2

見つけました!誰かがそれを必要とする場合に備えて投稿してください。

私は、Web

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

を? –

関連する問題