initWithFrame:我们不使用xib的时候,需要对View的frame进行设置,所以需要调用initWithFrame方法进行初始化设置(这里以View为例)
-(instancetype)initWithFrame:(CGRect)frame{
if ([super initWithFrame:frame]) {
}
return self;
}
initWithCoder:我们使用xib拖控件的时候,需要对view或者view的子类进行初始化设置时,这个时候调用initWithFrame方法设置不起作用,所以就需要用到initWithCoder方法进行初始化了。
-(instancetype)initWithCoder:(NSCoder *)aDecoder{
self = [super initWithCoder:aDecoder];
if (self) {
}
return self;
}
注意:无论是initWithCoder方法还是initWithFrame两个方法必须先调用父类的初始化方法,再进行自定义的初始化操作:
self = super initWithFrame:frame;
self = [super initWithCoder:aDecoder];