Pregunta

He creado una UItableView utilizando la plantilla de Xcode predeterminada y la configuro para que muestre cinco filas. Selecciono la primera celda de la mesa. Cuando selecciono otra celda, observo que la primera permanece seleccionada hasta que quito el dedo de la segunda.

muestra: http://img190.imageshack.us/img190/7184/cellsz.jpg

Quiero que una celda se seleccione al tocar, no al tocar eliminar. Busqué en la red y en la documentación de Apple, pero no encontré a qué método se llama cuando el usuario toca la pantalla para seleccionar.

¿Alguien tiene alguna información sobre esto?

¿Fue útil?

Solución

Finalmente, he logrado suprimir este efecto de doble selección.

Una celda se selecciona cuando el sistema detecta un evento interno de retoque en ella. Antes de que se seleccione, la celda tiene un estado de resaltado que aparece al tocar.

Para resolver este problema, debo anular el - (void) setHighlighted: (BOOL) resaltado animated: (BOOL) animado en mi UITableViewCell personalizado y no hacer nada en este método.

De esta manera, la tabla nunca tendrá dos celdas de estilo seleccionadas al mismo tiempo.

cita después de editar

  

Esta solución es suficiente para mí, pero   no resuelve mi primer pedido   cambiar la selección de la celda en " toque en "   evento en lugar de " tocar fuera " evento.

bueno ... supongo que esto es imposible. Si tuviéramos esta opción, podríamos seleccionar una celda cuando queramos desplazarnos en una vista de tabla.

Otros consejos

No sé responder a tu pregunta, pero tengo una oferta. Puede marcar la fila seleccionada con la marca de verificación en su

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

método delegado. Y luego llame a [tableView deselectRowAtIndexPath: indexPath] .

No hay una solución provista por el marco para seleccionar múltiples filas. Morion tiene una buena manera de hacer esto con marcas de verificación. También puede consultar este artículo de Matt Gallagher donde implementa lo que quieres.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top