Как прокрутить до конца раздела с 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)
Другие вопросы по тегам