xib中给UIButton,UILabel,UIView等控件设置layer属性

i 首先设置一个layer的分类

.h里面代码


NS_ASSUME_NONNULL_BEGIN

@interface CALayer (DCExtension)
@property(nonatomic, assign) UIColor *borderUIColor;
@end

NS_ASSUME_NONNULL_END

.m里面代码

#import "CALayer+DCExtension.h"

@implementation CALayer (DCExtension)
-(void)setBorderUIColor:(UIColor*)color
{
    self.borderColor = color.CGColor;
    
}
-(UIColor*)borderUIColor
{
    return [UIColor colorWithCGColor:self.borderColor];
    
}

@end

ii 找到对应的xib

image.png

注意 别的属性都可以用,但是borderColor属性要换成我们刚才在layer分类里面定义的borderUIColor属性,不然显示不出来

如果要设置ShadowColor属性也是一样,现在layer的分类里面定义一个shadowColorXib属性,重写他的set方法,如下图

@property(nonatomic, assign) UIColor *shadowUIColor;
-(void)setShadowUIColor:(UIColor *)color {
    self.shadowColor = color.CGColor;
}
- (UIColor *)shadowUIColor {
    return [UIColor colorWithCGColor:self.shadowColor];
}

你可能感兴趣的:(xib中给UIButton,UILabel,UIView等控件设置layer属性)