0

我对 a 进行了子类UIButton化,并且我想提供newButton相同背景图像的所有实例,等等。我以为我找到了正确的 init 方法initWithCoder,但它只是被第一个调用newButton。我通过将文本大小更改为巨大的东西做了一个小测试,并且只newButton更改了第一个 s 文本大小。

我可以使用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

这只会更改第一个按钮

4

0 回答 0