【问题标题】:How to scroll to the bottom of a section with IGListKit如何使用 IGListKit 滚动到部分的底部
【发布时间】:2017-11-07 15:59:12
【问题描述】:

我正在尝试滚动到使用 IGListKit 实现的 UICollectionView 的底部。我这样做的方法:

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)
    }
}

这确实滚动到最后一个项目,但是,它没有滚动到最后一个对象的底部。

实际结果:

想要的结果:

任何建议如何获得我想要的结果?

【问题讨论】:

    标签: swift iglistkit


    【解决方案1】:

    或者,您可以使用 UICollectionViewScrollPosition.top 代替 UICollectionViewScrollPosition.bottom 并滚动到底部正常工作。并更新到 Swift 4.x

    self.adapter.scroll(
      to: self.<#arrayOfObjects#>.last, 
      supplementaryKinds: nil, 
      scrollDirection: .vertical, 
      scrollPosition: .top
      animated: true)
    

    【讨论】:

      【解决方案2】:

      使用底层的 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)
      }
      

      【讨论】:

        猜你喜欢
        • 2014-11-27
        • 1970-01-01
        • 1970-01-01
        • 2014-12-12
        • 2018-09-16
        • 2019-07-12
        • 2012-02-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多