目前我正在服用这个示例网站 http://www.fusioncharts.com/demos/business/management-dashboard/view/Default.asp并显示在我的网络视图中。网页显示正确。
现在我试图弄清楚用户点击 uiwebview 后会选择哪些数据。
为此,我可以使用以下方法获取水龙头的 CGPointUITapGestureRecognizer
.
-(void)singleTap:(UIGestureRecognizer *)gestureRecognizer
{
CGPoint touchPoint = [gestureRecognizer locationInView:myWebView];
NSString *js = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).toString()", touchPoint.x, touchPoint.y];
NSString * tagName = [myWebView stringByEvaluatingJavaScriptFromString:js];
NSLog(@"Selected Name: %@",tagName);
}
// In log it is displaying [object SVGPathElement]
一旦用户选择第一个图表中的垂直条,我想获得准确的数据
(例如 1994/1995/1996)。
这个怎么做?
您没有指定什么对您不起作用......无论如何,有一些建议:
-
尝试在您的点击处理程序中使用以下 js:
NSString *js = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).innerHTML", touchPoint.x, touchPoint.y];
-
创建点击手势处理程序时,为其指定一个委托(它可以是您的控制器):
tap1.delegate = self;
-
在您的控制器(或 Web 视图委托)中,定义以下委托方法:
- (BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer: (UIGestureRecognizer*)otherGestureRecognizer {
return YES;
}
如果您使用的是 iOS 5,请查看这篇文章关于一个小故障elementFromPoint http://www.icab.de/blog/2011/10/17/elementfrompoint-under-ios-5/.
通过这样做,我可以获得所选对象的准确 HTML 值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)