UICollectionView的scrollToItem方法没有调用targetContentOffset参数

4

我有一个实现分页的集合视图,因此我覆盖了自定义UICollectionViewFlowLayout中的targetContentOffset来处理它。当用户通过交互滚动集合视图时,它会被调用并起作用。但是,当使用scrollToItem或滚动到可见矩形时,它不会被调用。什么是以编程方式滚动集合视图的最佳方法,可以确保通过targetContentOffset方法进行?

1个回答

0
在我的情况下,我使用了以下方法来编写程序以保持分页和滚动。
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)
            }
     }
}

希望这能对你有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接