El diseño automático en UICollectionViewCell no funciona

Tengo un UICollectionView simple con celdas que tienen un solo UITextView. UITextView está restringido a los bordes de la celda, por lo que deben permanecer del mismo tamaño que el tamaño de la celda.

El problema que tengo es que, por algún motivo, estas restricciones no funcionan cuando especifico el tamaño de la celda mediante collectionView: layout: sizeForItemAtIndexPath :.

Tengo el tamaño de celda establecido en 320x50 en el Guión gráfico. Si devuelvo un tamaño con 2 veces la altura del tamaño de celda con sizeForItemAtIndexPath :, el UITextView se mantiene a la misma altura a pesar de las restricciones que establecí. Estoy usando Xcode 6 GM.

Mi código de controlador de vista es:

@implementation TestViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.collectionView.delegate = self;
    self.collectionView.dataSource = self;
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    UICollectionViewCell *c = [self.collectionView cellForItemAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:0]];

    NSLog(@"%f", c.frame.size.height);

    UITextView *tv = (UITextView *)[c viewWithTag:9];
    NSLog(@"%f", tv.frame.size.height);

}

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return 1;
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];

    return cell;
}

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
    UICollectionViewFlowLayout *flowLayout = (UICollectionViewFlowLayout *)collectionView.collectionViewLayout;

    CGSize size = flowLayout.itemSize;

    size.height = size.height * 2;

    return size;
}

@end

Esos registros en viewDidAppear: dame una salida de:
100.00000
50.00000
Como puede ver, la altura de UITextView no cambia con la altura de la celda.


Aquí hay una captura de pantalla del guión gráfico que configuré con un UITextView restringido en UICollectionViewCell:

Sé que usar restricciones de diseño automático funciona bien con UITableViewCells y el cambio de tamaño dinámico. No tengo idea de por qué no funciona en este caso. ¿Alguien tiene alguna idea?

Respuestas a la pregunta(4)

Su respuesta a la pregunta