「ひとかじりのりんご」

へっぽこエンジニアの備忘録。こちらは旧ブログ。新しい方はこちら→「http://sbkro.github.io」

UIImageを角丸にする方法

あまりにも簡単すぎて感動した。
ちゃんと角丸に沿って、ボーダーも描画してくれる。

設定方法をメモ書き。

  1. QuartzCore.frameworkを"Linked Frameworks and Libraries"へ登録する。
  2. 処理を行うクラスのヘッダーファイルに、QuartzCore.hをインポートする。
  3. UIImageViewに角丸にするための設定を行う。
  4. 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;


サンプルは、こんな感じ。

f:id:sbkro:20120721151941p:plain

動作環境

変更履歴

  • 2013/10/21
    • サンプルコードを修正。レイヤー処理をUIImageに対して行っていた記述ミスを修正。