如何在不使用未记录的方法的情况下将uiview的触摸事件发送到uiwebview?
我的问题是当用户触摸uiwebview时隐藏/显示标签栏和导航栏。这实际上需要定制uiwebview,这是不建议的。我打算在uiwebview上放置透明视图,然后从那里接收触摸事件,使用它们然后发送到uiwebview。为此,我想知道如何从视图中将触摸事件发送到webview。
答案 0 :(得分:0)
这似乎是不可能的。您可以使用自定义叠加捕获触摸事件,但无法调用您自己的UITouch
事件,也无法更改现有UITouch
对象的目标视图。
换句话说:只要手指触及屏幕,创建的触摸事件就会包含目标。之后,它被刻在石头上,webview永远不会回应它。 (有人请证明我错了!)
接下来最好的事情 - 我不建议 - 是确定页面是否正在滚动,等待
[[browser stringByEvaluatingJavaScriptFromString:@"scrollY+scrollX"] intValue];
在循环中变为非零。 Javascript评估看起来有点慢;至少你不能每秒做10次。
答案 1 :(得分:0)
这是完全可能的。您需要子类化包含UIWebView或UIWindow的UIView,然后中继触摸事件。请参阅this post。