Xib设置圆角边框属性

最近开发中需要使用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下主要去Xib中设置几个相关属性,如下:

  1. layer.cornerRadius 设置圆角弧度,设置成String/Number
  2. layer.masksToBounds 设置裁剪,设置成Boolean
  3. layer.borderWidth 设置边框宽度, 设置成String/Number
  4. layer.borderColorFromUIColor 设置边框颜色,设置成Color

但是完成上面设置后,圆角边框都实现了,但是边框显示颜色设置无效,如下图

Xib设置圆角边框颜色无效

解决方法:

layer.borderColorFromUIColor这个属性实现必须添加一个CALayer的分类,才能够是颜色出现。

#import 

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
效果

你可能感兴趣的:(Xib设置圆角边框属性)