最近開發(fā)中需要使用Xib
開發(fā),開發(fā)過程中涉及到給UIView
設(shè)置圓角邊框記錄一下。
實(shí)現(xiàn)沒有什么難度,主要記錄一下
Xib
使用。
方法一(代碼)
self.circleView.layer.masksToBounds = YES;
self.circleView.layer.cornerRadius = 6;
如果需要加邊框
self.circleView.layer.borderWidth = 1;
self.circleView.layer.borderColor = [UIColor blueColor].CGColor;
也可以設(shè)置一個(gè)宏定義從而實(shí)現(xiàn)快速設(shè)置
#define ECViewBorderRadius(View, Radius, Width, Color)\
\
[View.layer setCornerRadius:(Radius)];\
[View.layer setMasksToBounds:YES];\
[View.layer setBorderWidth:(Width)];\
[View.layer setBorderColor:[Color CGColor]]
方法二(Xib)
Xib
下主要去Xib
中設(shè)置幾個(gè)相關(guān)屬性汁汗,如下:
-
layer.cornerRadius
設(shè)置圓角弧度,設(shè)置成String/Number
栗涂。 -
layer.masksToBounds
設(shè)置裁剪知牌,設(shè)置成Boolean
-
layer.borderWidth
設(shè)置邊框?qū)挾龋?設(shè)置成String/Number
-
layer.borderColorFromUIColor
設(shè)置邊框顏色,設(shè)置成Color
但是完成上面設(shè)置后斤程,圓角邊框都實(shí)現(xiàn)了送爸,但是邊框顯示顏色設(shè)置無效,如下圖
解決方法:
layer.borderColorFromUIColor
這個(gè)屬性實(shí)現(xiàn)必須添加一個(gè)CALayer
的分類暖释,才能夠是顏色出現(xiàn)袭厂。
#import <QuartzCore/QuartzCore.h>
NS_ASSUME_NONNULL_BEGIN
@interface CALayer (Extension)
- (void)setBorderColorFromUIColor:(UIColor *)color;
@end
NS_ASSUME_NONNULL_END
#import "CALayer+Extension.h"
@implementation CALayer (Extension)
- (void)setBorderColorFromUIColor:(UIColor *)color {
self.borderColor = color.CGColor;
}
@end