检测用户何时在 WKWebView 上向左或向右滑动来回

Ran*_*ndy 5 webkit ios wkwebview

我正在使用 WKWebView 并且我允许后退和前进导航手势:

myWkWebView.allowsBackForwardNavigationGestures = true
Run Code Online (Sandbox Code Playgroud)

现在,用户有两种返回方式:按下按钮或向左滑动。行为会有所不同,所以我想知道如何知道用户何时向左/向右滑动,以便我可以处理这个问题。

我查看了 WKNavigationDelegate 参考(https://developer.apple.com/library/ios/documentation/WebKit/Reference/WKNavigationDelegate_Ref/),但找不到任何有用的东西。

任何的想法 ?

编辑

我忘了说我还尝试通过这种方式添加滑动手势识别器:

    let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(MyVC.respondToSwipeLeftOrRight(_:)))
    swipeRight.direction = UISwipeGestureRecognizerDirection.Right
    let swipeLeft = UISwipeGestureRecognizer(target: self, action: #selector(MyVC.respondToSwipeLeftOrRight(_:)))
    swipeLeft.direction = UISwipeGestureRecognizerDirection.Left
    self.view.addGestureRecognizer(swipeRight)
    self.view.addGestureRecognizer(swipeLeft)
    myWkWebView.scrollView.panGestureRecognizer.requireGestureRecognizerToFail(swipeRight)
    myWkWebView.scrollView.panGestureRecognizer.requireGestureRecognizerToFail(swipeLeft)
Run Code Online (Sandbox Code Playgroud)

但是每次我向左或向右滑动时都不会触发它们。

Vla*_*r K 0

您应该能够使用手势识别器来执行此操作,但是如果您想在单个视图上处理多个手势识别器,则需要实现shouldRecognizeSimultaneouslyWithGestureRecognizer以下方法:UIGestureRecognizerDelegate

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    return true
}
Run Code Online (Sandbox Code Playgroud)