¿Dónde determinar la altura de un UICollectionViewCell de tamaño dinámico?

Estoy usando UICollectionViewFlowLayout. Mis celdas contienen UILabels que difieren en altura (número de líneas).

Parece que la mejor manera de obtener la altura de la celda sería en la subclase deUICollectionViewCell, porque ahí es donde configuro el diseño y tengo acceso al tamaño intrínseco de mis vistas, PERO:

collectionView: layout: sizeForItemAtIndexPath: se llama antes de lacollectionView: cellForItemAtIndexPath: Método de delegado, lo que significa que necesito saber la altura de la celda antes de tener el diseño real de la celda.

Todo lo que encontré hasta ahora parece demasiado complicado, como comenzar con una altura de celda fija, hacer referencia a la altura real después de que las etiquetas se cargan en la celda y volver a cargar los datos con la altura correcta. ¿Hay una mejor manera de hacer esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta