2011-06-11 11 views
6

Estoy tratando de implementar un TableView donde cada célula tiene un botón '+' al igual que la aplicación iPod al añadir canciones a una lista de reproducción.botón Agregar "Plus" para AccessoryType TableView

El cell.accesoryType tiene sólo cuatro valores

UITableViewCellAccessoryCheckmark 

UITableViewCellAccessoryDetailDisclosureButton 

UITableViewCellAccessoryDisclosureIndicator

y

None 

¿Cómo puede hacerse esto? ¿Es necesario crear un botón personalizado y establecer el cell.accessoryView o hay otra manera de hacer esto?

Respuesta

0

Si va a crear un custom cell, luego coloque una button en él en la esquina derecha, al igual que en accessory type aparece y asignarle su imagen '+' para el botón, por lo que también "ve la imagen" y obtener el "evento de acción del botón".

Consulte this tutorial para uitableviewcells personalizados.

+5

Encontrado botón de la solución UIButton * = [UIButton buttonWithType: UIButtonTypeContactAdd]; [botón addTarget: acción de auto: @selector (buttonTapped: eventos :) forControlEvents: UIControlEventTouchUpInside]; cell.accessoryView = botón; y creó el procedimiento manejo de eventos - (void) buttonTapped: evento (ID) del remitente: (id) {evento} – teo

12

solución de Teo funciona muy bien, pero no se ha publicado como una respuesta, por lo que estoy de volver a colocar que:

UIButton *button = [UIButton buttonWithType:UIButtonTypeContactAdd]; 
[button addTarget:self action:@selector(addbuttonTapped) forControlEvents:UIControlEventTouchUpInside]; 
cell.accessoryView = button; 
+0

¡Y eso significa que obtienes el voto popular! – Saltymule

3

Un simple variante de JosephH, para la memoria.

Si simplemente desea un botón decorativo "+" y continuar utilizando el original gatillo didSelectRowAtIndexPath, utilice:

UIButton *button = [UIButton buttonWithType:UIButtonTypeContactAdd]; 
[button setUserInteractionEnabled:NO]; 
cell.accessoryView = button; 

Al desactivar la interacción del usuario con el botón, que se propagará evento de presión en la vista subyacente: la celda.

Cuestiones relacionadas