Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 向上/向下滑动手势在UIWebView中不起作用_Ios_Swift - Fatal编程技术网

Ios 向上/向下滑动手势在UIWebView中不起作用

Ios 向上/向下滑动手势在UIWebView中不起作用,ios,swift,Ios,Swift,我在UIViewController中托管了一个UIWebView, 我通过以下方式添加右/左手势: var swipeRight = UISwipeGestureRecognizer(target: self, action: "swiped:") swipeRight.direction = UISwipeGestureRecognizerDirection.Right self.webView.addGestureRecognizer(swipeRight) 问题是,它无法使用向上/向下

我在UIViewController中托管了一个UIWebView, 我通过以下方式添加右/左手势:

var swipeRight = UISwipeGestureRecognizer(target: self, action: "swiped:")
swipeRight.direction = UISwipeGestureRecognizerDirection.Right
self.webView.addGestureRecognizer(swipeRight)
问题是,它无法使用向上/向下方向:

var swipeDown = UISwipeGestureRecognizer(target: self, action: "swiped:")
swipeDown.direction = UISwipeGestureRecognizerDirection.Down
self.webView.addGestureRecognizer(swipeDown)
我想这是因为滚动,我也尝试将其添加到scrollview中,但它仍然无法识别向上/向下的手势:

self.webView.scrollView.addGestureRecognizer(swipeDown)
更新
我尝试了Harry answer,但它覆盖了向上/向下滑动的默认操作,无法滚动页面:

self.view.addGestureRecognizer(swipeUp)
self.view.addGestureRecognizer(swipeDown)

self.webView.scrollView.panGestureRecognizer.requireGestureRecognizerToFail(swipeUp)
self.webView.scrollView.panGestureRecognizer.requireGestureRecognizerToFail(swipeDown)

将手势识别器添加到
self.view
not
UIWebView
实例

self.view.addGestureRecognizer(swipeUp)
self.view.addGestureRecognizer(swipeDown)
在向web视图添加上/下手势识别器之后添加这两行

self.webView.scrollView.panGestureRecognizer.requireGestureRecognizerToFail(swipeUp)
self.webView.scrollView.panGestureRecognizer.requireGestureRecognizerToFail(swipeDown)

如果有人仍在工作,这就解决了我的问题:

webView.scrollView.panGestureRecognizer.cancelsTouchesInView = NO;

upGesture.direction = UISwipeGestureRecognizerDirectionUp;
upGesture.cancelsTouchesInView = NO;
upGesture.delegate = self;
[webView.scrollView addGestureRecognizer:upGesture];

downGesture.direction = UISwipeGestureRecognizerDirectionDown;
downGesture.cancelsTouchesInView = NO;
downGesture.delegate = self;
[webView.scrollView addGestureRecognizer:downGesture];



- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
    return [gestureRecognizer isKindOfClass:[UISwipeGestureRecognizer class]] && [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]];
}

@Harry这个答案在ObjectiveC中,我怎样才能在swift中实现?谢谢,现在它工作了,但是它覆盖了默认的向上/向下滑动操作,我无法滚动页面抱歉,但我仍然无法滚动,我得到了我定义的手势,但无法向上/向下滚动UIWEBVIEW,我做错了什么?我编辑了我的问题