自动滚动到顶部

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动滚动到顶部相关的知识,希望对你有一定的参考价值。

我能够让它在打开应用程序时自动滚动到顶部,但现在它不会让你滚动因为scrollView强制保持在顶部由于willDisplay

func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
    if info.count > 0 {
        collectionView.scrollToItem(at: IndexPath(item:info.count - 1, section: 0), at: .top, animated: false)
    }
}

我还能把它放在哪里?

答案

使用以下代码来满足您的需求。对于动画,您只需要在scrollToRow函数的动画中传递值true / false。希望对你有帮助!

滚动顶部没有动画

func scrollToTopWithoutAnimation() {
     DispatchQueue.main.async {
         if self.dataArray.count > 0 {
             let indexPath = IndexPath(row: 0, section: 0)
             collectionView.scrollToItem(at: indexPath, at: .top, animated: false)
         }
     }
}

用动画滚动顶部

func scrollToTopWithAnimation() {
     DispatchQueue.main.async {
         if self.dataArray.count > 0 {
             let indexPath = IndexPath(row: 0, section: 0)
             collectionView.scrollToItem(at: indexPath, at: .top, animated: true)

         }
     }
}
另一答案

在collectionView重新加载后尝试这个

DispatchQueue.main.async {
    self.collectionView.scrollsToTop = true
 }

以上是关于自动滚动到顶部的主要内容,如果未能解决你的问题,请参考以下文章

自动滚动到顶部

滚动浏览提要时 RecyclerView 跳转到顶部

_adjustContentOffsetIfNecessary - UIScrollView 自动滚动到顶部

自动滚动到顶部在 UITableView 中不起作用

UIScrollView 在触摸动作时自动滚动到顶部

垂直滚动条在树形面板中拖放后自动移动到顶部