Tengo una vista en mi aplicación que tiene una serie de botones en función de la cantidad de elementos devueltos por el servidor. Entonces, si el servidor retorna, digamos 10 elementos, debe haber 10 botones y hacer clic en cada botón debe llamar a una persona diferente.UIButton personalizado para Iphone
Para el propósito anterior, creé una clase de botón personalizada derivada de 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
Ahora el problema con el código anterior es que no crea botones que parecen similares a los botones creados por defecto en constructor de interfaz. Las fronteras faltan.
Y crear botones del tipo anterior por el código siguiente:
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];
yo no estoy encontrando una manera de establecer el tipo de botón para este botón personalizado. ¿Hay alguna manera de hacerlo? ¿O hay una mejor manera de diseñar el código?
embargo, el índice es importante para mi programa como yo uso el índice para averiguar qué botón se presiona, ya que hay más de un botón en la vista – Amal
establece una etiqueta para el botón. Actualicé el código – coneybeare
¿De dónde sacaste la imagen del botón rojo estirable? – bentford