控件的封装细节

控件的封装细节

一个控件有2种创建方式
通过代码创建
初始化时一定会调用initWithFrame:方法

通过xib\storyboard创建
初始化时不会调用initWithFrame:方法,只会调用initWithCoder:方法
初始化完毕后会调用awakeFromNib方法

有时候希望在控件初始化时做一些初始化操作,比如添加子控件、设置基本属性
这时需要根据控件的创建方式,来选择在initWithFrame:、initWithCoder:、awakeFromNib的哪个方法中操作


/**
 *通过代码init创建
 */
- (instancetype)initWithFrame:(CGRect)frame
{
    if (self = [super initWithFrame:frame]) {
        [self setup];
    }
    return self;
}
/**
*通过xib/storeboard创建
*/
-(void)awakeFromNib
{
    [self setup];
}


-(void)setup
{
    self.textColor=[UIColor redColor];
    self.textColor = [UIColor redColor];
    self.textAlignment = NSTextAlignmentCenter;
}


你可能感兴趣的:(控件的封装细节)