Липкий заголовок UICollectionView исчезает на некоторое время после вставки раздела, когда коллекция прокручивается (эффект отскока) - PullRequest
0 голосов
/ 25 февраля 2019

Я использую 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.

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

enter image description here

РЕДАКТИРОВАТЬ (26/26/2019)
Обходной путь: Перенос вставки в performWithoutAnimation блок решает исчезновение заголовка, но, очевидно, отключает анимацию перезагрузки.

UIView.performWithoutAnimation {
    collectionView.performBatchUpdates({
        self.collectionView.insertSections(IndexSet(integersIn: collectionView.numberOfSections...viewModel.numberOfSections - 1))
    }, completion: nil)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...