UICollectionViewFlowLayout no invalida el derecho en el cambio de orientación

Tengo un UICollectionView con un UICollectionViewFlowLayout. También implemento el protocolo UICollectionViewDelegateFlowLayout.

En mi fuente de datos tengo un grupo de controladores de UIViewControllers que responden a un protocolo personalizado para que pueda preguntar por su tamaño y otras cosas.

En el delegado de FlowLayout cuando pide el sizeForItemAtIndexPath:, devuelvo el tamaño del elemento que obtengo de mi protocolo. Los ViewControllers que implementan mi protocolo devuelven un tamaño de elemento diferente según la orientación.

Ahora, si cambio la orientación del dispositivo de vertical a horizontal, no hay problema (los elementos son más grandes en horizontal) pero si lo cambio de nuevo, recibo esta advertencia:

    the item width must be less that the width of the UICollectionView minus the section insets left and right values.
    Please check the values return by the delegate.

Todavía funciona, pero no me gusta que me avisen, así que tal vez puedas decirme qué estoy haciendo mal. También hay otro problema. Si no le digo a mi collectionViews collectionViewLayout que invalide en willAnimateRotationToInterfaceOrientation: nunca se llama a sizeForItemAtIndexPath:

Espero que entiendas lo que quiero decir. Si necesita información adicional hágamelo saber :)

Respuestas a la pregunta(7)

Su respuesta a la pregunta