我有一个实现分页的collection视图,这就是为什么我重写自定义targetContentOffset
中的UICollectionViewFlowLayout
来处理它。当在用户交互中滚动collection视图时,它将被调用。但是,当使用scrollToItem
或滚动到visible rect时,不会调用它。以编程方式滚动到collection视图的最佳方式是什么,它肯定会通过方法targetContentOffset
?
最佳答案
在我的例子中,我使用bellow方法以编程方式维护分页和滚动。
func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
if scrollView.contentOffset.y > -topHeaderView.frame.size.height && scrollView.contentOffset.y < -20 - 50 {
let aHeaderHeight = topHeaderView.frame.size.height
if velocity.y <= 0 {
targetContentOffset.memory = CGPoint(x: 0, y: -aHeaderHeight)
} else {
targetContentOffset.memory = CGPoint(x: 0, y: 20 + 50)
}
}
}
希望这对你有帮助。