Altura dinámica UICollectionViewCell con autolayout

Estoy usando el diseño automático con UICollectionViewCell. Entonces, la idea es permitir que CollectionViewCell determine su tamaño en función de los diseños. Todas las restricciones están establecidas correctamente, pero el problema es que no puedo calcular su tamaño para el método de fuente de datos

collectionView:layout:sizeForItemAtIndexPath:

Idealmente, me gustaría calcular la altura de la celda haciendo lo siguiente:

static MyCell *myCell = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
    myCell = [[MyCell alloc] initWithFrame:CGRectZero];
});
cell.model = model;
[cell updateConstraints];
[cell layoutSubviews];
return cell.frame.size;

pero no obliga a actualizar las restricciones, por lo que el marco de la celda es cero. ¿Me puede aconsejar cómo puedo calcular el tamaño de la celda en función de sus restricciones?

Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta