IB_DESIGNABLE/IBInspectable

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 中是不是多了个属性,还不赶紧试试
cool.png

1

你可能感兴趣的:(IB_DESIGNABLE/IBInspectable)