Autolayout se ignora en Custom UITableViewCell

A pesar de haber establecido restricciones para todos los elementos, incluidos los verticales necesarios para que la celda calcule su altura, el diseño automático parece ignorarse: todas las celdas están comprimidas.

Aquí hay una captura de pantalla del resultado y de las restricciones en el guión gráfico. enter image description here

enter image description here

En el VC que contiene el tableView, aquí está el código en viewDidLoad:

tableView.estimatedRowHeight = 120.0 tableView.rowHeight = UITableViewAutomaticDimension 

Al comentar la segunda línea, las celdas tienen una altura de 120.0, pero Autolayout también se ignora.

Gracias


Actualizar

Para simplificar la interfaz, he dejado una sola etiqueta con, como restricciones:

  • Líder del espacio para supervisar
  • Espacio superior para supervisar
  • Ancho y altura fijos (100 y 100)
  • Espacio inferior al margen del contenedor para asegurarse de que la celda tenga todas las restricciones verticales para determinar su altura

Y con esta interfaz simplificada, el diseño automático aún no se tiene en cuenta, lo que me indica que el problema no proviene de las restricciones mal establecidas.

En Size Inspector, la altura de la fila se establece en 120 y Custom está marcada. La celda tiene la clase personalizada correcta, el identificador de reutilización de celda es correcto.


Actualización: solución encontrada

Este fue un simple error, mira mi respuesta a continuación.

El diseño automático se ignoró porque tanto la celda del prototipo como la UIView de la celda habían recibido la clase de celda personalizada en IB.

Volver a colocar el UIView en la clase UIView resolvió el problema.

solo para ser über claro

Creo que el problema es que estás implementando:

 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return x } 

Debe eliminar esta función para que la vista de tabla calcule su altura automática para las celdas.