¿Por qué la inserción de la sección del layout del flujo no se respeta cuando se habilita el dimensionamiento dynamic de celdas en una UICollectionView?

De acuerdo con muchos tutoriales y publicaciones como esta en UICollectionView , el layout de flujo de UICollectionView vuelve dynamic una vez que establece su propiedad estimatedItemSize en un valor distinto de cero. Si este es el caso, el layout de flujo obtiene el tamaño de cada elemento directamente de las celdas en lugar de preguntar al método delegado collectionView:layout:sizeForItemAtIndexPath:

Desafortunadamente, establecer la propiedad estimatedItemSize también afecta otros methods de delegado de layout de flujo como collectionView:layout:insetForSectionAtIndex: Observé que una vez que the estimatedItemSize está configurado, este método simplemente se ignora, así como la propiedad sectionInset del layout del sectionInset .

Con esta statement de método:

 - (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section { return UIEdgeInsetsMake(50, 10, 20, 10); } 

mi vista de colección se ve así con estimatedItemSize set:

esimatedItemSize habilitado

y así sin el set estimatedItemSize (y devolviendo un tamaño de artículo fijo CGSizeMake(300, 50) de collectionView:layout:sizeForItemAtIndexPath: lugar):

esimatedItemSize deshabilitado

¿Hay alguna razón para este tipo de comportamiento? ¿Por qué el layout del flujo ignora las inserciones de la sección para tamaños de celda dynamics?