若是使用code來設定圓角大概會長這樣子:

若是使用Storyboard或是XIB等等的IB(Interface Builder),在介面上預設是沒辦法設定圓角數值的(雖然可以自己客製你的IB,不過這篇先不提),

所以我們通常需要手動加上以上的code來達成圓角的目的,而我相信大部分的新手開發者都會遇到一個坑,

就是設定了圓角但是UI畫面沒有改變,會造成這個原因通常有兩種情況:

1.沒有將view的clipsToBounds設定為true

clipsToBounds = true時會裁切layer超出super view的範圍,才可以確實的切掉邊邊角角

2.在viewDidLoad裡面設定圓角

在View life cycle中,viewDidLoad的階段IB還沒有載入完成,因此在viewDidLoad上設定IB的物件數值會沒有效果,必須要在viewWillAppear中設定才行,

但是我們常常將一些setup的function寫在viewDidLoad之中,為了設定圓角必須在viewWillAppear中實做有時候有礙觀瞻(我覺得啦,

其實有個小技巧可以在IB上直接設定圓角:

在右側Identity Inspector(也就是第三個)中有一個"User Defined Runtime Attributes",顧名思義就是可以自定義一些屬性在runtime的時候執行,

我們只要

1.在Key Path的地方輸入:layer.cornerRadius

2.Type選擇為Number

3.設定圓角數值

如此一來就可以簡單的在IB上直接設定圓角囉,

其他layer的設定,比如說陰影 e.g. layer.shadowOpacity, Number 0.25, layer.shadowOffset, Size, {0, 10}, layer.shadowRadius, Number, 20 也可以透過這個方式來設定。