Haga que UITableViewCell se networkingimensione con autolayout

Tengo 3 tags en una UITableViewCell y tengo las tags establecidas para que se envuelvan en palabras. Si envuelven la palabra, el text pasa a la siguiente celda. ¿Cómo obtengo AutoLayout para expandir la celda en function del contenido sin tener que escribir código en el método heightForRowAtIndex ? ¿No existe una restricción que pueda usar para ajustar automáticamente la celda según la ContentView?

introduzca la descripción de la imagen aquíintroduzca la descripción de la imagen aquí

La celda se ve bien si el text no se ajusta a la label. Una vez que se envuelve es cuando ocurre el problema y me gustaría tener el tamaño de la celda para adaptarse al contenido y tener el mismo espacio entre la label inferior y la inferior, ya que hay entre la label superior y superior.

Desafortunadamente no, no puedes hacer esto. Una vista de tabla calcula su propia altura total primero y tiene una idea fija del tamaño de cada celda a medida que se cargan, no determinará su altura desde afuera y no permitirá que las restricciones de layout cambien la altura de una celda.

Si piensas en cómo funcionan las tablas, con la reutilización de las celdas, no podrías realmente dimensionar la tabla de sus celdas sin cargar en cada celda y agregarla a la vista de desplazamiento, y realizar un pase de layout en todo. Eso probablemente llevaría a un desempeño bastante pobre.

Podrías experimentar con llenar una celda "libre" (es decir, una celda que acabas de crear, no agregada a una tabla) y distribuirla para cada fila en tu fuente de datos al calcular heightForRow.

Cuando está cargando las celdas individuales, después de llenar las tags, pero antes de cargar la instancia de la celda, verifique la altura de la label.

  Something like: cell.frame.size.height 

Si la altura es lo suficientemente grande como para saber que la label se ha envuelto en dos líneas, aumente la altura de la celda que está a punto de cargar.