IBInspectable 修饰属性,可以自定义的运行时属性,支持KVC的属性能够在Attribute Inspector中配置
@dynamic 是告诉编译器,属性的setter与getter方法由用户自己实现,不自动生成。
1.创建一个UIView的分类,名字根据自己的习惯命名就可以
2.在.h文件中添加自己想在xib的改变的属性,例如:
@interface UIView (LZRViewLayer)
@property (nonatomic) IBInspectable UIColor *borderColor;
@property (nonatomic) IBInspectable CGFloat borderWidth;
@property (nonatomic) IBInspectable CGFloat cornerRadius;
@end
3.在.m文件中写set方法,赋值给UIView 的layer相对应的属性
#import "UIView+LZRViewLayer.h"
@implementation UIView (LZRViewLayer)
@dynamic borderColor,borderWidth,cornerRadius;
-(void)setBorderColor:(UIColor *)borderColor
{
[self.layer setBorderColor:borderColor.CGColor];
}
-(void)setBorderWidth:(CGFloat)borderWidth
{
[self.layer setBorderWidth:borderWidth];
}
-(void)setCornerRadius:(CGFloat)cornerRadius
{
[self.layer setCornerRadius:cornerRadius];
// self.clipsToBounds = YES;
}
@end