UIImageを角丸にする方法
あまりにも簡単すぎて感動した。
ちゃんと角丸に沿って、ボーダーも描画してくれる。
設定方法をメモ書き。
- QuartzCore.frameworkを"Linked Frameworks and Libraries"へ登録する。
- 処理を行うクラスのヘッダーファイルに、QuartzCore.hをインポートする。
- UIImageViewに角丸にするための設定を行う。
- UIImageViewに角丸にする画像を設定する。
以上。
サンプルコード
ヘッダーファイル
#import <QuartzCore/QuartzCore.h>
実装ファイル
UIImageView * view = [UIImageView alloc] init]; UIImage * image = [[UIImage alloc] init]; // imageに対して、色々処理 ... // レイヤー処理を有効化する。 view.clipsToBounds = YES; // 角丸にする。0以上の浮動小数点。大きくなるほど丸くなる。 view.layer.cornerRadius = 10.0; // ボーダーに線を付ける。角丸に沿ってボーターがつく。 // 大きくなるほどボーダーが太くなる。 [view.layer setBorderWidth:1.0]; // ボーダーの色を設定する。角丸に沿ってボーターの色がつく。 [view.layer setBorderColor:[[UIColor grayColor] CGColor]]; // 角丸にする画像を設定する。 view.image = image;
サンプルは、こんな感じ。
動作環境
- iOS 5.1.1以上
変更履歴
- 2013/10/21
- サンプルコードを修正。レイヤー処理をUIImageに対して行っていた記述ミスを修正。