Я использую UICollectionReusableView
в качестве заголовка раздела UICollectionView
.Я включил «липкие заголовки» с помощью:
let layout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout
layout?.sectionHeadersPinToVisibleBounds = true
Я вставляю новые разделы в коллекцию с помощью:
collectionView.performBatchUpdates({
self.collectionView.insertSections(IndexSet(integersIn: collectionView.numberOfSections...viewModel.numberOfSections - 1))
}, completion: nil)
Если вставка происходит, когда коллекция переполнена (отскок включен),заголовок исчезнет на время (см. GIF ниже). Как мне избежать этого поведения?
Я использую iOS 12.1.4, но такая же проблема возникает и на симуляторах iOS 11.x и 12.x.
Проблемане происходит, если эффект отскока отключен, но я хочу оставить его включенным для более плавного прокручивания.Я пытался сделать недействительным макет до / после обновления безрезультатно.Спасибо за советы.
РЕДАКТИРОВАТЬ (26/26/2019)
Обходной путь: Перенос вставки в performWithoutAnimation
блок решает исчезновение заголовка, но, очевидно, отключает анимацию перезагрузки.
UIView.performWithoutAnimation {
collectionView.performBatchUpdates({
self.collectionView.insertSections(IndexSet(integersIn: collectionView.numberOfSections...viewModel.numberOfSections - 1))
}, completion: nil)
}