iOSでネットワーク上のリソースをUIImageViewに表示するライブラリに「SDWebImage」というものがあります。導入方法については以下の記事で紹介しました。
SDWebImageを使ってUIImageViewに画像を表示させるには下記のように書くことができます。
// import SDWebImage let url = NSURL(string: "http://example.com/hogehoge.jpg")! self.thumbnailView.sd_setImageWithURL(url, placeholderImage: nil) { (image, error, cacheType, u) -> Void in })
通常はこの書き方で事足りるのですが、ダウンロードしてきた画像にブラー等のエフェクトを掛けてから表示したい場合には、SDWebImageManagerを使うことができます。
let url = NSURL(string: "http://example.com/hogehoge.jpg")! SDWebImageManager.sharedManager().downloadImageWithURL(url, options: .CacheMemoryOnly, progress: nil) { [weak self] (image, error, cacheType, isDownloaded, u) -> Void in // ダウンロードが完了後に加工してImageViewに設定する self?.imageView.image = image.effectImage() }
同じようなメソッドにSDWebImageDownloader#downloadImageWithURL
がありますが、こちらの方はキャッシュしてくれません。
関連記事
この他にもiOSアプリ開発で見つけたネタや悩んだ内容など紹介しています。Tipsをまとめておりますのでこちらのページをご参照ください。