每次调用子类uibutton时调用哪个方法?

时间:2012-11-02 19:34:26

标签: objective-c uibutton init

我将UIButton子类化,我希望为newButton的所有实例提供相同的背景图像。我以为我在initWithCoder中找到了正确的init方法,但只是为第一个newButton调用了它。我通过将文本大小更改为大量文本进行了一些测试,并且只更改了第一个newButton文本大小。

我可以使用drawRect:,它运行得很好。但我被告知这不是一个好方法。

有谁知道会调用哪种方法,以便我可以进行一些调整?

 @implementation LCHButton

 - (id)initWithFrame:(CGRect)frame
 {
self = [super initWithFrame:frame];
if (self) {
    [self setDefaults];
}
return self;
}

 -(id)init
 {
self = [super init];
if (self) {
    [self setDefaults];
}
return self;

}

 -(id)initWithCoder:(NSCoder *)aDecoder
 {
self = [super initWithCoder:aDecoder];
if (self) {
    [self setDefaults];
}
return self;
}

 -(void)setDefaults
 {
[self setBackgroundImage:[[UIImage imageNamed:@"submitBtn.png"] stretchableImageWithLeftCapWidth:5 topCapHeight:0] forState:UIControlStateNormal];
self.titleLabel.font = [UIFont fontWithName:@"Museo-500" size:17];
}

 @end

这将仅更改第一个按钮

0 个答案:

没有答案