UIView(もしくはそのサブクラス)を角丸にしたいことはよくあるだろう。
そういうとき、コードでこのようにするのはよく知られた手法だ。
UIView *view = [self.view viewWithTag:1];
view.layer.cornerRadius = 10.0f;
view.layer.masksToBounds = YES;
これで角丸を実現できる。
しかし、いちいちコードを書くのが面倒だと感じることはないだろうか。
特にStoryboradを使っている場合はなおさらだ。

Storyboardというとても素晴らしい機能があるのに、いちいちコードでレイアウトの設定を行うのは面倒くさいし、何より余計なコードが増えるのが嫌だ。
(状況にもよるが)少なくとも私はそう考える。

そこで、Storyboradでこれらを設定する方法を紹介する。
 
Storyboardでこのようにしてあるとする。
真ん中のグレーの四角が角丸にしたいUIViewだ。
角丸_ss1
まず、対象のUIViewを選択した状態でIdentity inspectorを開こう。
次にUser Defined Runtime Attributesの欄に注目する。
この部分だ。
角丸_ss2
ここでは属性に前もって値を設定することが出来る。
なので、先ほどのコードで設定した値を追加してやろう。

左下の+ボタンを押すと1行追加されるので、Key Pathに"layer.cornerRadius"と記入する。
次にTypeをNumberにし、Valueを10にする。
"layer.masksToBounds"も同様にして追加する。

すると、このようになるはずだ。
角丸_ss3
これで設定は完了だ。
実行してみよう。
角丸_ss4
期待していた結果が得られた。
素晴らしい!

一つ注意しなければならない点がある。
この設定を行っても、Storyboard上では設定は反映されない。
反映されるのはあくまでも実行時だ。
なので、しっかりと実行してから確認してほしい。