在講XIB之前首先說下代碼的方式那怎么設(shè)置
//設(shè)置邊框顏色和寬度
self.myView.layer.borderColor = [UIColor redColor].CGColor;
self.myView.layer.borderWidth = 2;
//設(shè)置圓角
self.myView.layer.masksToBounds = YES;
self.myView.layer.cornerRadius = 10; (寬高都是20的話就是純圓)
通過xib快速設(shè)置圓角
是利用User Defined Runtime Attributes 進(jìn)行設(shè)置
身份檢查器
詳細(xì)步驟介紹
點(diǎn)擊UI控件
點(diǎn)擊 Xcode 右側(cè)上方身份檢查器(左起第三個(gè)按鈕)
找到 Runtime Attributes 屬性派撕,通過Key Path 和 Value 進(jìn)行設(shè)置
設(shè)置圓角需要到的Key Path:
layer.cornerRadius 劳翰,注意該 key 對應(yīng) Value 的 type 應(yīng)該設(shè)置為 String
layer.masksToBounds ,注意該 key 對應(yīng) Value 的 type 應(yīng)該設(shè)置為 Boolean , 當(dāng)右側(cè)出現(xiàn)對號時(shí)為YES
注意:經(jīng)過測試滑凉,UILabel 必須設(shè)置設(shè)置 masksToBounds 這一鍵值對蟋恬,才會出現(xiàn)圓角效果额湘;UIButton鹅很、UIView醉者、UIImageView 只需設(shè)置 layer.cornerRadius 這一鍵值對就可實(shí)現(xiàn)圓角效果
Xib 為控件設(shè)置邊框效果
所用方法和上面所講Xib設(shè)置圓角基本相同啼器,唯一不同的就是設(shè)置 key Path 鍵值對
layer.borderWidth ,注意該 key 對應(yīng) Value 的 type 應(yīng)該設(shè)置為 Number
layer. borderXibColor , 注意該 key 對應(yīng) Value 的 type 應(yīng)該設(shè)置為 Color
不過不知道你有沒有注意到 layer.borderColor 對應(yīng)值得類型:Color税课;經(jīng)常用代碼進(jìn)行邊框設(shè)置的你闲延,一定記得我們設(shè)置的顏色類型為CGColor,不錯(cuò)問題就出在了這上面
按照上述方法我們設(shè)置的邊框顏色為 UIColor 類型,當(dāng)然不會起作用了啊韩玩。
(如果代碼設(shè)置那個(gè)顏色或提示出一段橋接代碼)
這時(shí)下面就給出一種簡便的解決方法垒玲,我們只需要為 CALayer 創(chuàng)建一個(gè)分類就可以了,具體代碼如下:
CALayer+xibConfig.h
#import <QuartzCore/QuartzCore.h>
#import <UIKit/UIKit.h>
@interface CALayer (xibConfig)
@property(nonatomic, weak) UIColor * borderXibColor;
@end
CALayer+xibConfig.m
#import "CALayer+xibConfig.h"
@implementation CALayer (xibConfig)
-(void)setBorderXibColor:(UIColor*)color
{
self.borderColor = color.CGColor;
}
-(UIColor*)borderXibColor
{
return [UIColor colorWithCGColor:self.borderColor];
}
注意:當(dāng)我們使用Xib設(shè)置控件圓角找颓、邊框的時(shí)候合愈,如果將key Path寫錯(cuò),系統(tǒng)不會報(bào)錯(cuò)击狮,但是運(yùn)行不會實(shí)現(xiàn)理想的效果
我是楚簡約佛析,感謝您的閱讀,
喜歡就點(diǎn)個(gè)贊唄彪蓬,“?喜歡”寸莫,
鼓勵(lì)又不花錢,你在看档冬,我就繼續(xù)寫~
非簡書用戶储狭,可以點(diǎn)右上角的三個(gè)“...”,然后"在Safari中打開”捣郊,就可以點(diǎn)贊咯~
到此為止.記錄下容易忘的細(xì)節(jié)同大家分享!!!