从uiview向uiwebview发送触摸事件

问题描述:

如何从uiview发送触摸事件到uiwebview而不使用未记录的方法?从uiview向uiwebview发送触摸事件

我的问题是当用户触摸uiwebview时隐藏/显示tabbar和导航栏。这实际上需要uiwebview的定制,这是不建议。我打算在uiwebview上放置一个透明视图,然后从那里接收触摸事件,使用它们,然后将它发送到uiwebview。为此,我想知道如何将触发事件从视图发送到webview。

这是完全可能的。您需要继承包含UIWebView或UIWindow的UIView,然后中继触摸事件。请参阅this post

这似乎是不可能的。您可以使用自定义叠加层捕获触摸事件,但无法调用您自己的事件,也无法更改现有对象的目标视图。

换句话说:只要手指碰到屏幕,创建的触摸事件就包含目标。之后,它被刻在石头上,webview将永远不会回应。 (有人请证明我错了!)

然后退而求其次 - 我不建议 - 是确定的页面被滚动,等待

[[browser stringByEvaluatingJavaScriptFromString:@"scrollY+scrollX"] intValue]; 

成为非零,在循环。 Javascript评估似乎有点慢;至少你不能每秒钟做10次。