xib 和 纯代码的初始化
2017-03-16 本文已影响0人
哎呦哎呦小葵花
- 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];
}