0

をサブクラス化しました。特に、同じ背景画像のUIButtonすべてのインスタンスを提供したいと思います。newButtonで正しいinitメソッドを見つけたと思いましたinitWithCoderが、最初のメソッドが呼び出され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

これにより、最初のボタンのみが変更されます

4

0 に答える 0