我有一个tableView
和一个tableView.tableHeaderView
,所以我想scroll
到这个view
(顶部)。
我正在滚动tableView.scrollToRow(at: IndexPath(row: 0, section: 0), at: .top, animated: true)
,但这仅滚动到第一行。
如何滚动到tableHeaderView
?
答案 0 :(得分:2)
首先,移至本节的第一行
tableView.scrollToRow(at: IndexPath(row: 0, section: 0), at: .top, animated: false)
只需在tableView's
动画块(即
contentOffset
CGPoint.zero
设置为UIView
UIView.animate(withDuration: 0.2, animations: {
tableView.contentOffset = .zero
}) { (completed) in
tableView.reloadData()
}
答案 1 :(得分:1)
发现了这个有用的小扩展!
public extension UIScrollView {
func scrollToTop(animated: Bool) {
let desiredOffset = CGPoint(x: 0, y: -contentInset.top)
setContentOffset(desiredOffset, animated: animated)
}
}