Pregunta

Acabo de heredar el código que esconde/muestra las filas una vista de uable usando el delegado heightForRowAtIndexPath Método y altura de retorno 0 para "filas ocultas".

El código funciona, pero me preocupa que pueda estar lleno de complicaciones imprevistas. ¿Alguien puede aliviar mis inquietudes o darme buenas razones por las que esto podría causar problemas (no pude encontrar ningún problema con las pruebas iniciales)?

La tabla es bastante pequeña <10 filas en total y requeriría alturas de fila personalizadas incluso sin esta solución de fila oculta.

¿Fue útil?

Solución

Sería más limpio agregar y quitar las filas entre dos beginUpdates y endUpdates Llamas, pero no veo por qué este método de 0-altura no debería funcionar.

Si no hay artefactos UI, es decir (por ejemplo, el Borrar Botón que aparece desbordando a la siguiente celda).

Otros consejos

Hago lo mismo en el código en el que acabo de trabajar. No estoy contento con diferentes comportamientos para diferentes configuraciones de vista de tabla.
La alternativa en mi caso es más compleja (un modelo que se adapta a lo que es visible o no).
Por ahora, puse un // hackear el comentario y documento algunas peculiaridades.
Esto es lo que he encontrado (probado iOS 5.0):

  1. Establecer tableView.rowHeight = 1; Zero le dará una celda con altura cero (como devuelve por TableView: TableView HeightForrowatIndExpath :) Alguna altura predeterminada.
  2. Debes tener un separador de celdas. Si no se selecciona ninguna, entonces se asigna una altura predeterminada a filas de altura cero. La altura de 1 se incluye con el separador.

Si su código funciona de una manera diferente, sería interesante saber cómo está configurado.

Utilizo este método para establecer alturas de celdas ocultas en 0. Funciona bien y también significa que puedo animar la inclusión de nuevas celdas expandiendo la altura de la celda (como agregar una celda de recipiente con fecha como lo hace la aplicación calendario).

Algunas cosas que he tenido que tener en cuenta en iOS 7.1 son que el texto muy aplastado todavía aparece incluso cuando una altura de la celda es = 0, por lo que he necesitado eliminar el texto de la celda en ese caso. Además, he cambiado el tamaño del SeparatorSet de la celda, ya que eso también aparecía.

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