如何使用 isPagingEnabled 自动滚动拖动 trashhold 更改 UIScrollView

How to change UIScrollView with isPagingEnabled autoscroll drag trashhold

我的水平 UIScrollViewisPagingEnabled = true 包含几页。如果我拖动滚动视图内容并释放手指,只有当我拖动至少 50% 的滚动视图宽度时,它才会滚动到下一页。如果拖动距离超过 25%,我想自动滚动到 next/previous 页面。

我可以通过重写 UIScrollViewDelegate 中的 scrollViewDidEndDragging、计算拖动距离并调用 scrollView.setContentOffset 来实现它。但问题是,如果 distance > 25 且 < 50 那么它会自动向后滚动,这可能是因为 scrollview 调用它是默认实现。

知道我怎样才能做到这一点吗?谢谢

我将通过修改所需页面的偏移量来使用以下委托的回调

// called on finger up if the user dragged. velocity is in points/millisecond. 
// targetContentOffset may be changed to adjust where the scroll view comes to rest
@available(iOS 5.0, *)
optional func scrollViewWillEndDragging(_ scrollView: UIScrollView, 
    withVelocity velocity: CGPoint, 
    targetContentOffset: UnsafeMutablePointer<CGPoint>)