仅在滚动内容到达边缘时识别 UIScrollView 中的滑动手势
Posted
技术标签:
【中文标题】仅在滚动内容到达边缘时识别 UIScrollView 中的滑动手势【英文标题】:Recognize swipe gesture in UIScrollView only when scrolling content reach the edge 【发布时间】:2016-12-01 11:54:10 【问题描述】:我有UIScrollView
,垂直滚动处于活动状态。我想要做的是添加带有方向.down
的滑动手势,当用户因为到达边缘而无法再滚动内容时,该手势将被识别。
我正在尝试使用 require(toFail:) 但它无法正常工作。
let swipeDown = UISwipeGestureRecognizer(target: self, action: #selector(self.respondToSwipeGesture))
swipeDown.direction = UISwipeGestureRecognizerDirection.down
swipeDown.require(toFail: self.scrollView.panGestureRecognizer)
self.scrollView.addGestureRecognizer(swipeDown)
我还添加了UIGestureRecognizerDelegate
方法同时识别:
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool
return true
如何在 scrollView 中始终优先考虑滚动内容以及何时无法检测到滑动?
【问题讨论】:
【参考方案1】:好的,我处理该问题的方法是简单地检查 contentOffset 是否达到点 0.0,如果是,则禁用滚动并激活其他手势。就我而言,这就足够了。
if scrollView.contentOffset.y == 0.0
print("content on top")
// use delegate method here to manage the gestures
【讨论】:
我也面临同样的问题,我想从你的帖子中学习。由于我是 ios 开发的初学者,您是否可以发布更大版本的代码,包括if scrollView.content...
看起来像?我想知道您将零件放在更大的图片中的位置以及委托方法的外观。请,谢谢!以上是关于仅在滚动内容到达边缘时识别 UIScrollView 中的滑动手势的主要内容,如果未能解决你的问题,请参考以下文章