2010-01-14 21 views
5

¿Hay alguna manera de tener un ícono de estilo de edición personalizado (además de los íconos verde más y menos rojo) al habilitar el modo de edición en UITableView?Cómo establecer un ícono de estilo de edición personalizado en una UITableViewCell mientras está en modo de edición

Sé que puedo simular la animación del modo de edición y simplemente mover los contenidos de la celda a la derecha y agregar un UIImageView, pero estaba tratando de evitar eso.

Respuesta

6

La única manera de personalizar el estilo de edición de una celda es usando tableView:editingStyleForRowAtIndexPath: que debe devolver un UITableViewCellEditingStyle.

Ninguno, eliminar (rojo menos) e insertar (verde más) son las únicas opciones. Desde el documentation:

modificar las celdas Estilo

El control de edición utilizado por una célula.

typedef enum { 
UITableViewCellEditingStyleNone, 
UITableViewCellEditingStyleDelete, 
UITableViewCellEditingStyleInsert 
} UITableViewCellEditingStyle; 
+6

Por cierto - esto es una tercera opción llamada "selección múltiple" con editingStyle = 3. Este es un indocumentado ** * * característica. – kennytm

+0

Supongo que tendré que cambiar el tamaño de las subvistas de la celda yo mismo. –

+1

Gah, esa opción indocumentada sería perfecta para nosotros. Buscar en los foros de desarrollo de iOS para uitableview con selección de múltiples filas para obtener la respuesta oficial al respecto: no utilizar. Grrr. – MrCranky

0

Puede volver como se muestra en código de abajo

-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
if(indexPath.row == 0) 
    { 

     return UITableViewCellEditingStyleInsert; 
    } 
    else 
    { 
     return UITableViewCellEditingStyleDelete; 
    } 
} 
Cuestiones relacionadas