UICollectionView прекращает загрузку ячеек после moveItemAtIndexPath:toIndexPath:

У меня есть UICollectionView с UICollectionViewFlowLayout который содержит много предметов. Я хочу изменить порядок ячеек из-за ввода пользователя.

[self.collectionView moveItemAtIndexPath:indexPath toIndexPath:newIndexPath];

После выполнения этого кода представление коллекции не обновляет свое содержимое при прокрутке. Это не показывает следующие клетки. Это даже не вызов cellForItemAtIndexPath: но размер его содержимого правильный (макет "обновляет" его состояние). Поэтому мы можем видеть только те ячейки, которые были распределены в представлении коллекции до переупорядочения. Любые подсказки, в чем может быть проблема? Есть ли известные обходные пути для этой проблемы? Приложение только для iOS 8, а представление коллекции используется с UICollectionViewFlowLayout.

РЕДАКТИРОВАТЬ: Когда я звоню [self.collectionView reloadData]; источник данных даже не запрашивается.

1 ответ

Проблема была с UICollectionViewCell, Высокоуровневым описанием является то, что в ячейку отправляется метод actionForKey из моего кода во время анимации движения. Это заставило клетку оставаться во внутренней being animated государство. Я не мог найти разумного обходного пути и переработал некоторые биты, чтобы избежать actionForKey вызов. Теперь все работает как положено.

Другие вопросы по тегам