我正在
然而,当反向“后退”快速拖动时,它会立即“回弹”,没有任何动画效果,这看起来很糟糕。 有什么想法可以解决这个问题吗?
scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)
中设置targetContentOffset
的新值,以创建UITableView
中的自定义分页解决方案。 当为targetContentOffset
设置与速度指向相同滚动方向的坐标时,它按预期工作。然而,当反向“后退”快速拖动时,它会立即“回弹”,没有任何动画效果,这看起来很糟糕。 有什么想法可以解决这个问题吗?
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
// a lot of caluculations to detemine where to "snap scroll" to
if shouldSnapScrollUpFromSpeed || shouldSnapScrollUpFromDistance {
targetContentOffset.pointee.y = -scrollView.frame.height
} else if shouldSnapScrollDownFromSpeed || shouldSnapScrollDownFromDistance {
targetContentOffset.pointee.y = -detailViewHeaderHeight
}
}
我可以尝试计算出这个“bug”出现的时间,并可能使用另一种“快速滚动”的方法。有没有关于如何使用targetContentOffset.pointee.y
来解决问题的建议?