自动滚动到顶部
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
}
以上是关于自动滚动到顶部的主要内容,如果未能解决你的问题,请参考以下文章