tablas example ejemplo xcode uitableview row-height

xcode - example - UITableViewCell: Altura de fila personalizada para celda prototipo



uitableview swift 4 (2)

En mi archivo de guión gráfico estoy diseñando múltiples celdas prototipo en un UITableView. Cada celda tiene su propio identificador de celda único.

Dependiendo de la sección y la fila, coloco una de las celdas prototipo en el método - tableView: cellForRowAtIndexPath:

Para la mayoría de las celdas prototipo no he cambiado la altura de la fila. En mi guión gráfico, su altura parece estar determinada por la propiedad ''Altura de fila'' bajo ''Inspector de tamaño'' de UITableView.

Para una celda prototipo, he cambiado la altura a través de la propiedad ''Altura de fila'' en ''Inspector de tamaño'' de la UITableViewCell específica. La casilla "Personalizar" también está marcada.

En mi guión gráfico esto parece funcionar bien. Pero durante el tiempo de ejecución, cuando mis celdas se retiran de la cola y se agregan a TableView, todas las celdas obtienen la altura de fila predeterminada.

Ahora, soy consciente del método tableView: heightForRowAtIndexPath: que se menciona en otras publicaciones, pero parece un poco extraño de usar ya que estoy configurando una altura de fila personalizada en mi guión gráfico.

¿Alguien sabe por qué esta propiedad no está funcionando? ¿Es posible que esta propiedad pueda ser usada en diferentes situaciones?

Gracias


Si desea utilizar Interface Builder en Xcode 5 para cambiar la altura de las filas en una vista de tabla sin código, puede hacerlo en dos lugares:

  • Seleccione la vista de tabla, muestre el inspector de tamaño y escríbalo en Altura de fila , en la sección Tamaño de vista de tabla .
  • Seleccione la celda prototipo, muestre el inspector de tamaño , marque Personalizar en la sección Tamaño de vista de tabla y escriba el alto de fila en el campo de texto asociado.

¿Podría ser que estás usando el segundo método? Intente usar el primer método para establecer la altura predeterminada de todas las filas en la vista de tabla y el segundo para informarle a Interface Builder sobre las excepciones.


Se llama a heightForRowAtIndexPath (para cada fila de la tabla) antes de que se muestren las celdas, es decir, antes de que se cellForRowAtIndexPath . Esto es necesario para calcular el diseño de la vista de desplazamiento subyacente, los indicadores de desplazamiento, etc.