SDWebImageはFacebookもiOSアプリで使っているという秀逸な非同期画像ダウンロード兼画像キャッシュのライブラリですが、これに実は落とし穴があったという話。 https://github.com/rs/SDWebImage 使い方は簡単。ライブラリをインポートして下記のようにダウンロードしたい画像のURL等を指定するだけ… [cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder.png"]]; …のはずなのですが、このようにデフォルト状態で使うと、ここでDLした画像がアプリ内のディスクに貯まっていきます。 しかし実はこのメソッドに関して
SDWebImageを使うと、簡単に画像を非同期でダウンロードできて、かつUIImageViewに設定することができます。 SDWebImage 参考 SDWebImageを初めて使う際の注意点 【iOS】SDWebImageでアプリ容量がどんどん増えていく件 ImageIO.frameworkとMapKit.frameworkの追加が必要です #import "UIImageView+WebCache.h" - (void)viewDidLoad { NSURL url = [NSURL URLWithString:@"http://hogehoge.com/hoge.png"]; [imageView setImageWithURL:url placeholderImage:nil options:SDWebImageCacheMemoryOnly]; } placeholderIma
ネットワークごしの画像をUIImageViewに表示したい。かつ、画像をキャッシュして次回からはすぐに表示したい。よくある話です。 githubにコミットされているSDWebImageを使うとこれらを手軽に実現できます。 今回はこのSDWebImageの使い方と内部実装などを説明したいと思います。 ※ 今回はversion3.0時点のものを説明しています。多分大幅に変わることはないと思いますが・・・ https://github.com/rs/SDWebImage MIT Licenseです。 URL指定で画像を表示する SDWebImageを導入するとカテゴリメソッドが追加されます。 まずUIImageView+WebCache.hをimportします。よく使うようであればプリコンパイルヘッダでimportすると良いかもしれません。 #import <SDWebImage/UIImage
↓ 例えばこんなふうに UIImageView に 'Aspect Fit' を指定して表示させたときの領域を知りたいことってありますよね。 がんばって計算してもいいのですが、AVFoundation.framework の次の関数で簡単に取得できます。 CGRect AVMakeRectWithAspectRatioInsideRect(CGSize aspectRatio, CGRect boundingRect); ドキュメントによると、ムービーを CALayer に表示するときに領域にフィットさせるのに便利ということですが、画像に使っても便利です。 上記の画像だと UIImageView の大きさは 280x508 で、画像のサイズは 2047x1199 です。 そこで下記のコードを実行すると返ってくる CGRect は {{0, 171.997}, {280, 164.006}}
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く