iOS Swift:ScrollView 严格拖动

Posted

技术标签:

【中文标题】iOS Swift:ScrollView 严格拖动【英文标题】:iOS Swift : ScrollView strict dragging 【发布时间】:2017-08-13 05:51:33 【问题描述】:

我有一个滚动视图(仅水平滚动),其中有两个集合视图,如果它被拖动/向上滑动到 >= 屏幕中间,那么它应该向前滚动,即右侧(显示第二个集合视图),否则它应该是在左侧(显示第一个集合视图)。它不应该保持半滚动状态,要么完全滚动,要么不滚动。我怎样才能做到这一点?

【问题讨论】:

右侧是底部吗?你能把这个东西清理掉吗? @AdityaSrivastava:我已经更新了问题 还是不清楚。 @Smartcat:我已经更新了问题 【参考方案1】:

要实现滚动捕捉,你想使用这个 UIScrollViewDelegate 方法:

func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>)

您需要在此方法中设置以下内容。

targetContentOffset.pointee.x = 

这里有一个tutorial link,可能有助于解释。

或者只是将这个 ObjC SO answer 转换为 swift 并按照它的描述从垂直对齐更改为水平对齐。

【讨论】:

以上是关于iOS Swift:ScrollView 严格拖动的主要内容,如果未能解决你的问题,请参考以下文章

iOS 10上的ScrollView“错误”,swift 4 [重复]

ScrollView惯性效果手动,iOS,Swift

IOS中水平滚动视图问题内的滑块

iOS 11 Swift 4 iPhone X Safe Area 支持全屏ScrollView

IOS swift scrollview以编程方式

向上推键盘 Swift iOS 后,我的 Scrollview 不会一直向上滚动