- xib右上角标志
代码创建的两种方式
通过纯代码创建
初始化的一定会调用initWithFrame:方法
通过xib或者stroyboard创建
初始化时不会调用initWithFrame:方法,调用的是initWithCoder:方法
初始化完毕,调用awakeFromNib方法
作用
有时候,我们需要创建的控件需要初始化,我们可以选择不同的方法进行初始化
// 纯代码
- (instancetype)initWithFrame:(CGRect)frame{
if (self = [super initWithFrame:frame]) {
[self setup];
// 在这里创建子控件
}
return self;
}
// xib 或者 storyboard
- (instancetype)initWithCoder:(NSCoder *)aDecoder{
if (self = [super initWithCoder:aDecoder]) {
}
return self;
}
- (void)awakeFromNib{
[super awakeFromNib];
[self setup];
}
// 共同的方法,可以同时兼顾
- (void)setup{
self.name.backgroundColor = [UIColor purpleColor];
}