iOS 在xib或storyboard裡為控制元件新增圓角、外框和外框顏色
阿新 • • 發佈:2019-01-22
如果要在xib和storyboard裡為控制元件新增圓角和外框寬度,只要這樣做就可以
layer.borderWidth 設定外框寬度屬性
layer.cornerRadius 設定圓角屬性
只要為屬性設定value值就可以了
當然修改完xib裡看是看不出來的,要執行才看得到,效果如下
那如果要在xib和storyboard裡修改外框顏色怎麼辦??只有用加其他方法才能實現,例如分類
新增分類
再來就是
生成這檔案
.h檔案裡
1 #import <QuartzCore/QuartzCore.h> 2 3 @interfaceCALayer (LayerColor) 4 5 - (void)setBorderColorFromUIColor:(UIColor *)color; 6 7 @end
.m檔案裡
新增一個set方法
1 #import "CALayer+LayerColor.h" 2 3 @implementation CALayer (LayerColor) 4 5 - (void)setBorderColorFromUIColor:(UIColor *)color 6 { 7 self.borderColor = color.CGColor; 8 } 910 @end
假如你的UIColor提示錯誤找不到,那是你沒有匯入UIKit框架
那就在.h或者全域性標頭檔案裡匯入
#import <UIKit/UIKit.h>
這樣就完成基本工作了
現在在xib或者storyboard裡面像之前新增控制元件外框和圓角一樣操作,在新增該屬性
type為color
要注意這是set方法,所以假如分類裡新增的方法為
- (void)setBorderColorFromUIColor:(UIColor *)color;
那麼屬性裡就應該為layer.borderColorFromUIColor
假如是
- (void)setColorFromUIColor:(UIColor *)color;
那屬性裡就為layer.colorFromUIColor
執行:
如果要加上背景顏色,加完顏色後要給控制元件設定屬性
_btn.layer.masksToBounds = YES;
再key path裡面是 layer.masksToBounds,設定完就ok了
這樣就明白該方法是怎麼使用的了,不然設定顏色還是無效的,因為使用方法不對,就是這樣了。