IB_DESIGNABLE - 定义xib链接
IBInspectable - 链接属性
以下都是个人理解
IB_DESIGNABLE
- 1 定义 这个类链接xib
IB_DESIGNABLE
@interface XIBView : UIView
@property (nonatomic, strong) UITextField *inputField;
@end
- 2 NS_DESIGNATED_INITIALIZER
注意这个属性,需要使用这个标记的方法初始化类,再能实现IB_DESIGNABLE哦。(坑了我还一会)
// 在类里面可以各种其他设置(顺便有发现了人家的另外一种初始化方法)
-(instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
_inputField = ({
UITextField *label = [[UITextField alloc]init];
label.text = @"2011";
label.frame = CGRectMake(0, 0, 100, 33);
label.backgroundColor = [UIColor yellowColor];
[self addSubview:label];
label;
});// 使用自动布局也可以的
}
return self;
}
// 赶紧到 xib,或者storyboard中继承上面成类看看。
// 效果拔群。
// 代码写什么,就显示什么,不要运行就能看(不过需要一小会时间相当于运行吧。唉)
IBInspectable
- 1 定义属性到xib中 实时修改(例如在xib 中可以直接修改颜色等属性)
@property (nonatomic, copy) IBInspectable UIColor *testColor;
- 2 set 方法
// 注意写set方法。
- (void)setTestColor:(UIColor *)testColor {
_testColor = testColor;
self.backgroundColor = testColor;
}
- 3 实现
xib 中是不是多了个属性,还不赶紧试试
1