2013-03-14 2 views
2

(Обновление ниже)UICollectionView deleteItemsAtIndexPaths не анимировать дополнительные взгляды правильно

При удалении элементов из раздела с моей точки зрения сбора (скажем, раздел 0), я считаю, что дополнительные виды (в данном случае заголовки из UICollectionViewFlowLayout) появляются на месте, так как ячейки из нулевой точки анимации ожидают, а «дубликаты» последних разделов ожидают их с ними, чтобы соответствовать тем, которые выскочили.

Естественно, что те, которые появляются на месте, могут быть 'duplicates', но это не имеет большого значения. Это похоже на представление коллекции, которое может увидеть будущее! и затем догоняет себя. Вот как выглядит анимация.

Знаете ли вы, есть ли причуда или ошибка или вы можете легко устранить этот дополнительный дополнительный дополнительный просмотр?

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

ответ

2

Это ошибка с UICollectionViewFlowLayout. По какой-то причине UICollectionViewFlowLayout не может правильно анимировать ячейки, которые не отображаются на экране.

Я сделал два обходных решения, которые затрагивают проблему, но никто не разрешает ее полностью. Первый заключается в искусственном увеличении кадра представления коллекции, чтобы он создавал ячейки, необходимые для анимации, и, следовательно, правильно анимировал их при изменении данных. Это немного взломать и не работает для всех случаев.

Другой вариант - написать собственный макет потока с нуля. Это работает для меня, и сложность полностью зависит от того, насколько сложна ваша компоновка. Вот пример, который я использовал для написания собственного потока: https://github.com/chiahsien/UICollectionViewWaterfallLayout

 Смежные вопросы

  • Нет связанных вопросов^_^