Qual é a melhor maneira de desabilitar os cross fades no UICollectionView / UICollectionViewLayout que gira ou altera as alterações?

Eu tenho uma subclasse deUICollectionViewLayout que coloca as células em um círculo. O layout retornaYES para a chamadashouldInvalidateLayoutForBoundsChange:. Na rotação, a célula na posição inicial diminui e a célula na posição final diminui.

Adicionando o seguinte código ao meu layout, eu posso desabilitar os fades e o círculo de itens aparece para simplesmente girar com a mudança de orientação:

- (UICollectionViewLayoutAttributes *)initialLayoutAttributesForAppearingItemAtIndexPath:(NSIndexPath *)itemIndexPath {
    return nil;
}

- (UICollectionViewLayoutAttributes *)finalLayoutAttributesForDisappearingItemAtIndexPath:(NSIndexPath *)itemIndexPath {
    return [self layoutAttributesForItemAtIndexPath:itemIndexPath];
}

Por que os métodos são chamados em uma mudança de limite porque a documentação parece não sugerir que eles o façam? A documentação parece indicar que eles são chamados relacionados à inserção e remoção de itens da exibição de coleção.

Existe uma maneira melhor de desativar o desvanecimento cruzado durante a rotação?

Notas:

oinitialLayoutAttributesForAppearingItemAtIndexPath: documentação afirma que, por padrão, o método retornanil mas chamadas parasuper retornou valores não nulos.Eu defino pontos de quebra simbólicos nos métodos UICollectionViewdeleteItemsAtIndexPaths:, moveItemAtIndexPath:toIndexPath: einsertItemsAtIndexPaths: e nenhum deles é atingido durante a rotação.

questionAnswers(1)

yourAnswerToTheQuestion