将触摸事件从覆盖 UIView 转发到 UIWebView / 如何从代码将触摸事件发送到 uiwebview
Posted
技术标签:
【中文标题】将触摸事件从覆盖 UIView 转发到 UIWebView / 如何从代码将触摸事件发送到 uiwebview【英文标题】:forward touch events to UIWebView from overlaying UIView / how to make touch events to uiwebview from code 【发布时间】:2014-07-09 08:55:41 【问题描述】:想象一个UIWebView
部分被UIView
覆盖,而UIView
本身必须接收触摸。
我要做的就是将触摸事件从覆盖的UIView
转发到UIWebView
。我尝试将UIView
子类化并将触摸转发到UIWebView
就像
[webview touchesbegan:touches withEvent: event]
但它不起作用。
好吧,据我所知,它可以通过子类化 touchesbegan
被调用的 UIWebView
来工作。但是当我直接触摸UIWebview
时,这永远不会发生,所以这显然不是正确的方法。 Sooo,我做错了什么?
【问题讨论】:
感谢格式化我的文本!现在看起来好多了。下次我自己试试…… 我想你也想在 webView 上使用gestureRecognizer。这个 (***.com/questions/1049889/…) 有一些变化。 我会调查它,但我不想捕获整个屏幕,只捕获覆盖 UIView 的部分...... 【参考方案1】:您可以使用 javascript 来做到这一点
NSString *javaScript = @"document.getElementById('id_username').value = 'tfusername'";
设置任何数据的值 您可以通过获取其 ID 来发送对任何对象的点击 然后通过评估它来发送事件。
NSString *myval = [webView stringByEvaluatingJavaScriptFromString:@"document.querySelector('input[type=\"submit\"][value=\"Log in\"]').click();"];
可能这就是您所要求的。谢谢
【讨论】:
对不起。我想将本机触摸事件转发到 uiwebview .. 没有 javascript以上是关于将触摸事件从覆盖 UIView 转发到 UIWebView / 如何从代码将触摸事件发送到 uiwebview的主要内容,如果未能解决你的问题,请参考以下文章