在日常的开发中,我们有时候难免会用到Xib来快速的绘制一些界面,而Xib中只能设置layer的一些基本属性,比如layer.cornerRadius,layer.borderWidth等等,但如果要设置borderColor,单纯的layer.borderColor是不会有效果的,我们还需要做如下准备工作:
- 新建CALayer的category,添加我们需要的属性,这里我们拿borderColor和shadowColor举例,.h文件中添加属性:
@interface CALayer (XibConfiguration)
@property(nonatomic, assign) UIColor *borderUIColor;
@property(nonatomic, assign) UIColor *shadowUIColor;
@end
- 在.m中实现set、get方法:
#import "CALayer+XibConfiguration.h"
@implementation CALayer (XibConfiguration)
- (void)setBorderUIColor:(UIColor *)color {
self.borderColor = color.CGColor;
}
- (UIColor*)borderUIColor {
return [UIColor colorWithCGColor:self.borderColor];
}
-(void)setShadowUIColor:(UIColor*)color {
self.shadowColor = color.CGColor;
}
-(UIColor *)shadowUIColor {
return [UIColor colorWithCGColor:self.shadowColor];
}
-
这个时候我们就可以在Xib中来设置view layer的一些属性:
image.png
运行代码,你就会看到你想要的
网友评论