最近开发中需要使用Xib
开发,开发过程中涉及到给UIView
设置圆角边框记录一下。
实现没有什么难度,主要记录一下
Xib
使用。
方法一(代码)
self.circleView.layer.masksToBounds = YES;
self.circleView.layer.cornerRadius = 6;
如果需要加边框
self.circleView.layer.borderWidth = 1;
self.circleView.layer.borderColor = [UIColor blueColor].CGColor;
也可以设置一个宏定义从而实现快速设置
#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
中设置几个相关属性,如下:
-
layer.cornerRadius
设置圆角弧度,设置成String/Number
。 -
layer.masksToBounds
设置裁剪,设置成Boolean
-
layer.borderWidth
设置边框宽度, 设置成String/Number
-
layer.borderColorFromUIColor
设置边框颜色,设置成Color
但是完成上面设置后,圆角边框都实现了,但是边框显示颜色设置无效,如下图
解决方法:
layer.borderColorFromUIColor
这个属性实现必须添加一个CALayer
的分类,才能够是颜色出现。
#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