をサブクラス化しました。特に、同じ背景画像の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
これにより、最初のボタンのみが変更されます