自定义或者重写控件时,初始化控件的方式可能不一样,因此需要在进行重写时充分考虑到使用的情况,以免发生没有正确初始化的情况:
/**
* 当控件不是从xib、storyboard中创建时,就会调用这个方法
*/
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self setup];
}
return self;
}
/**
* 当控件是从xib、storyboard中创建时,就会调用这个方法
*/
- (id)initWithCoder:(NSCoder *)decoder
{
if (self = [super initWithCoder:decoder]) {
[self setup];
}
return self;
}
- (void)setup
{
self.titleLabel.font = [UIFont systemFontOfSize:32];
// 按钮高亮的时候。不要去调整图片(不要调整图片会灰色)
self.adjustsImageWhenHighlighted = NO;
// self.adjustsImageWhenDisabled
}
/**
* 这个方法在initWithCoder:方法后调用
*/
- (void)awakeFromNib
{
}