如何使用isPagingEnabled自动滚动拖动垃圾箱更改UIScrollView

问题描述 投票:2回答:1

我有水平UIScrollView,其中isPagingEnabled = true包含几页。如果拖动scrollview内容并松开手指,则只有当我拖动至少scrollview宽度的50%时,它才会滚动到下一页。如果拖动距离超过25%,我想自动滚动到下一页/上一页。

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

任何想法我该如何实现?谢谢

ios swift uiscrollview uiscrollviewdelegate
1个回答
0
投票

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

// 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>)
© www.soinside.com 2019 - 2024. All rights reserved.