Каков наилучший лучший способ отключить перекрестные замирания на поворотах UICollectionView / UICollectionViewLayout или ограничениях изменений?
У меня есть подклассUICollectionViewLayout
который помещает клетки в круг.
макет возвращаетсяYES
для вызоваshouldInvalidateLayoutForBoundsChange:
, На
вращение, ячейка в исходном положении исчезает, а ячейка в конечном
позиция исчезает.
Добавив следующий код в мой макет, я могу отключить замирания и круг предметов, кажется, просто вращается с изменением ориентации:
- (UICollectionViewLayoutAttributes *)initialLayoutAttributesForAppearingItemAtIndexPath:(NSIndexPath *)itemIndexPath {
return nil;
}
- (UICollectionViewLayoutAttributes *)finalLayoutAttributesForDisappearingItemAtIndexPath:(NSIndexPath *)itemIndexPath {
return [self layoutAttributesForItemAtIndexPath:itemIndexPath];
}
Почему методы вызываются при изменении границ, потому что документация не Похоже, они предлагают? Документация, кажется, заявляет, что их называют связанным для вставки и удаления элементов из коллекции коллекции.
Есть ли лучший способ отключить перекрестное затухание во время вращения?
Заметки:
TheinitialLayoutAttributesForAppearingItemAtIndexPath:
documentation
states that by default the method returns nil
but calls to super
returned
non-nil values.
I set symbolic breaks points on the UICollectionView methods
deleteItemsAtIndexPaths:
, moveItemAtIndexPath:toIndexPath:
and
insertItemsAtIndexPaths:
and none of them are hit during rotation.