2013-12-16 133 views
0

我希望你能帮助我,并首先对我的英语不好。 我想在iOS的uiwebview中点击指定点(x/y)。我曾尝试一些与向uiwebview发送touchesbegan事件

(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { }

(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [webview touchesBegan:touches withEvent:event]; }

但我还没有工作。 uiwebview是uiview的子视图,我想。

你能帮我吗?

来自德国的问候。

回答

0

只需调用javascript函数如下:

[myWebView stringByEvaluatingJavaScriptFromString:"/*JS Code goes here*/"]; 

,而不是/*JS Code goes here*/ 类型的Java脚本代码,做你想做的事通过烧成可以按一下X,你想y位置。我假设你可以控制网页内容,如果不是评论,我会添加更复杂的解决方案。

如果你想调用是包含您的网页内容中的iframe中定义的函数,你需要定义两个功能:显示为源的iframe的iframe页面内

1- JS功能标签名称此功能iFrameFunc()在父HTML页面名称

2- JS功能它parentFunc()

3- parentFunc应该得到处理由ID或类选择的iframe并调用iframeFunc()

4-对象 - 将调用[UIWebView的stringByEvaluatingJavaScriptFromString]将parentFunc

+0

对不起,没有意见,因为位置是在iframe中,我不能改变这些。 但是,谢谢! – user3108818

+0

您是否试图将重点放在某个元素上? –

+0

你是什么意思?通过js? – user3108818

0

我子类UIWebView,公正“内吸取”到了手势识别的子视图两层深(你可以去递归但那是不够iOS6-7) 。然后,您可以根据触摸位置和手势识别器的状态执行任何操作。

for (UIView* view in self.subviews) { 
    for (UIGestureRecognizer* recognizer in view.gestureRecognizers) { 
     [recognizer addTarget:self action:@selector(touchEvent:)]; 
    } 
    for (UIView* sview in view.subviews) { 
     for (UIGestureRecognizer* recognizer in sview.gestureRecognizers) { 
      [recognizer addTarget:self action:@selector(touchEvent:)]; 
     } 
    } 
}