Как прокрутить до конца раздела с IGListKit
Я пытаюсь прокрутить до конца UICollectionView, реализованного с помощью IGListKit. Мой способ сделать это:
func scrollToBottom(animated: Bool = true) {
if let last = self.adapter.objects().last {
self.adapter.scroll(
to: last,
supplementaryKinds: nil,
scrollDirection: UICollectionViewScrollDirection.vertical,
scrollPosition: UICollectionViewScrollPosition.bottom,
animated: animated)
}
}
Это прокручивает до последнего элемента, однако, оно не прокручивается до конца последнего объекта.
Фактический результат:
Желаемый результат:
Любые предложения, как получить желаемый результат?
1 ответ
Решение
Решил это, используя базовый UICollectionView и setContentOffset
метод
func scrollToBottom(animated: Bool = true) {
let bottomOffset = CGPoint(
x: 0,
y: self.collectionView.contentSize.height
- self.collectionView.bounds.size.height
+ self.collectionView.contentInset.bottom)
self.collectionView.setContentOffset(bottomOffset, animated: animated)
}
Или вы можете использовать UICollectionViewScrollPosition. вместоtop UICollectionViewScrollPosition.bottom и прокрутка вниз работает нормально. И обновлен до Swift 4.x
self.adapter.scroll(
to: self.<#arrayOfObjects#>.last,
supplementaryKinds: nil,
scrollDirection: .vertical,
scrollPosition: .top
animated: true)