Каков наилучший лучший способ отключить перекрестные замирания на поворотах UICollectionView / UICollectionViewLayout или ограничениях изменений?

У меня есть подклассUICollectionViewLayout который помещает клетки в круг. Макет возвращаетсяYES для вызоваshouldInvalidateLayoutForBoundsChange:, При вращении ячейка в начальной позиции постепенно исчезает, а ячейка в конечной позиции постепенно исчезает.

Добавив следующий код в свой макет, я могу отключить замирания, и круг элементов, по-видимому, просто вращается с изменением ориентации:

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

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

Почему методы вызывают при изменении границ, потому что документация неКажется, они предлагают? Кажется, что в документации говорится, что их вызывают, связанные со вставкой и удалением элементов из представления коллекции.

Есть ли лучший способ отключить перекрестное затухание во время вращения?

Заметки:

initialLayoutAttributesForAppearingItemAtIndexPath: документация утверждает, что по умолчанию метод возвращаетnil но призываетsuper вернул ненулевые значения.Я устанавливаю символические точки разрыва в методах UICollectionView,deleteItemsAtIndexPaths:moveItemAtIndexPath:toIndexPath: а такжеinsertItemsAtIndexPaths: и ни один из них не попал во время вращения.

Ответы на вопрос(1)

Ваш ответ на вопрос