私はウェブからたくさんの画像を取得しますが、それらはすべての種類のサイズであり、大きくても小さくてもかまいません..
したがって、セルに表示するときにサイズを変更できますが、これは非効率的です。大きな画像をディスクに保存してセルごとにサイズを変更するのではなく、SDWebImage がそれらをダウンロードしてサイズを変更した後にサイズを変更する方が良い方法です。
では、SDWebImage でこれを行うにはどうすればよいでしょうか。または、クラスを少しハックする必要がありますか?
私はウェブからたくさんの画像を取得しますが、それらはすべての種類のサイズであり、大きくても小さくてもかまいません..
したがって、セルに表示するときにサイズを変更できますが、これは非効率的です。大きな画像をディスクに保存してセルごとにサイズを変更するのではなく、SDWebImage がそれらをダウンロードしてサイズを変更した後にサイズを変更する方が良い方法です。
では、SDWebImage でこれを行うにはどうすればよいでしょうか。または、クラスを少しハックする必要がありますか?
私はあなたと同じ問題を抱えていて、最初にSDWebImageを微調整しようとしましたが、問題を解決する独自のコンポーネントを構築することになりました。ここでそれを見ることができます:https ://github.com/adig/RemoteImageView
SDWebImage 3.8.2
UIImageView カテゴリを使用している場合sd_setImageWithURL
。別の UIImageView カテゴリ (拡張機能) を作成しました
func modifiedImageFromUrl(url: NSURL?) {
self.sd_setImageWithURL(url) { (image, error, cacheType, url) in
if cacheType == SDImageCacheType.None && image != nil {
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0)) {
let modifiedImage = // modify image as you want
dispatch_async(dispatch_get_main_queue()) {
SDWebImageManager.sharedManager().saveImageToCache(modifiedImage, forURL: url)
self.image = modifiedImage
}
}
}
}
}