将触摸事件从uiview传输到uiwebview

时间:2010-08-04 17:22:44

标签: iphone uiview uiwebview touch

如何在不使用未记录的方法的情况下将uiview的触摸事件发送到uiwebview?

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

2 个答案:

答案 0 :(得分:0)

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

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

接下来最好的事情 - 我不建议 - 是确定页面是否正在滚动,等待

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

在循环中变为非零。 Javascript评估看起来有点慢;至少你不能每秒做10次。

答案 1 :(得分:0)

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