如何在 UIWebview 上添加 UISwipeGestureRecognizer
Posted
技术标签:
【中文标题】如何在 UIWebview 上添加 UISwipeGestureRecognizer【英文标题】:How to add UISwipeGestureRecognizer on UIWebview 【发布时间】:2013-12-19 14:04:10 【问题描述】:我正在使用这个
UIWebview *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0,0,320,self.view.frame.size.height)];
webView.delegate=self;
[webView.scrollView setScrollEnabled:YES];
webView.backgroundColor=[UIColor grayColor];
[view1 addSubview:webView];
UISwipeGestureRecognizer * Swiperight=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swiperight11:)];
Swiperight.delegate=self;
[Swiperight setNumberOfTouchesRequired:1];
Swiperight.direction=UISwipeGestureRecognizerDirectionRight;
[webView addGestureRecognizer:Swiperight];
这个向右滑动不起作用,但是当我们使用这个时
[webView addGestureRecognizer:Swiperight]; insted of
[view1 addGestureRecognizer:Swiperight];
然后它工作正常......所以我想问 UISwipeGestureRecognizer 不能在 Webview 上工作吗? 帮帮我
【问题讨论】:
【参考方案1】:您的问题类似于this one。 UIWebView 的嵌入式滚动视图上的手势识别器首先捕获手势。将手势识别器添加到 webView 后添加以下内容。
[webView.scrollView.panGestureRecognizer requireGestureRecognizerToFail:Swiperight];
请注意,这会阻止用户向左平移。如果您不想这样做,请使用 UIScrollViewDelegate 方法来检测用户何时滑动或平移。
【讨论】:
以上是关于如何在 UIWebview 上添加 UISwipeGestureRecognizer的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UIWebView 视频播放器中添加 OverLay View?
如何在 UIWebView 上的 Long Tap 手势上创建 Tap 事件?