私のアプリケーションには、サーバーから返されたアイテムの数に基づいていくつかのボタンがあります。したがって、サーバーが10個のアイテムを返す場合、10個のボタンがあり、各ボタンをクリックすると別の人が呼び出されるはずです。iPhone用のカスタムUIButton
上記の目的のために、私はUIButtonから派生したカスタムボタンクラスを作成しました。
@implementation HopitalButton
@synthesize index;
@synthesize button_type;
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
UIImage* img = [UIImage imageNamed:@"dr_btn.png"];
[img stretchableImageWithLeftCapWidth:10 topCapHeight:10];
[self setBackgroundImage:img forState:UIControlStateNormal];
[self setTitleColor:[UIColor colorWithRed:0.698 green:0.118 blue:0.376 alpha:1] forState:UIControlStateNormal] ;
[self setFont:[UIFont fontWithName:@"Helvetica Bold" size:13]];
self.titleLabel.textColor = [UIColor colorWithRed:178 green:48 blue:95 alpha:1];
self.adjustsImageWhenHighlighted = YES;
}
return self;
}
- (void)dealloc {
[super dealloc];
}
@end
上記のコードの問題は、Interface Builderでデフォルトで作成されたボタンに似たボタンを作成しないことです。ボーダーがありません。私はこのカスタムボタンのボタンの種類を設定する方法を見つけることではないのです
HopitalButton* hb = [[HopitalButton alloc] init];
hb.button_type = @"call";
hb.frame = CGRectMake(50, 50 + i * 67, 220, 40);
[self.scroll_view addSubview:hb];
[hb setTitle:[[[self.office_full_list objectAtIndex:i] objectForKey:@"Staff" ]objectForKey:@"FullName"] forState:UIControlStateNormal];
hb.index = [NSNumber numberWithInt:[self.button_items count]];
[self.button_items insertObject:hb atIndex:[self.button_items count]];
[hb addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
:
そして私は次のコードで上記のタイプのボタンを作成します。 私はそれを行う方法はありますか?あるいは、コードを設計するより良い方法があります。そして、あなたが背景として、延伸画像でボタンを作成し、テキストを適用
:
しかし、ビュー – Amal
に複数のボタンがボタンにタグを設定してあるので、私が押されたボタンを見つけるためにインデックスを使用してインデックスが私のプログラムのために重要です。コードを更新しました – coneybeare
伸縮性のある赤いボタン画像はどこで手に入りましたか? – bentford