仅在滚动内容到达边缘时才识别UIScrollView中的滑动手势

时间:2016-12-01 11:54:10

标签: ios swift uiscrollview uigesturerecognizer uiswipegesturerecognizer

我有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 个答案:

答案 0 :(得分:0)

好的,我管理该问题的方法只是检查contentOffset是否达到0.0,如果是,则禁用滚动并激活其他手势。对于我的情况就足够了。

if scrollView.contentOffset.y == 0.0 {
    print("content on top")

    // use delegate method here to manage the gestures

}