我有水平UIScrollView
,其中isPagingEnabled = true
包含几页。如果拖动scrollview内容并松开手指,则只有当我拖动至少scrollview宽度的50%时,它才会滚动到下一页。如果拖动距离超过25%,我想自动滚动到下一页/上一页。
我能够通过覆盖scrollViewDidEndDragging
中的UIScrollViewDelegate
,计算拖动距离并调用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>)