2011-09-13 24 views
14

我在我的iPad程序中加载了HTML的UIWebView。通过使用-webkit-column-width,我将html分成了几列。如何获取UIWebView中元素的位置?

padding: 0px 
height: 1024px 
-webkit-column-gap: 0px 
-webkit-column-width: 768px 

我怎样才能在webview中获取元素位置(x,y)?位置在屏幕上,而不是在html中。所以y的范围从0到webview的高度。

在此先感谢。

+0

这是不一样的你在http://stackoverflow.com/questions/7378102/using-css3-columns-how-can问题-get-元件位置/ 7429994? – chris5marsh

回答

2

好吧,我解决了使用jquery功能

var p = $("tag"); 
var position = p.position(); 

我得到真正的x,y值。谢谢。

+0

我如何从位置var获取x,y? – harshitgupta

33

因为不必包括jQuery的只是这个吮吸:

- (CGRect)positionOfElementWithId:(NSString *)elementID { 
    NSString *js = @"function f(){ var r = document.getElementById('%@').getBoundingClientRect(); return '{{'+r.left+','+r.top+'},{'+r.width+','+r.height+'}}'; } f();"; 
    NSString *result = [self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:js, elementID]]; 
    CGRect rect = CGRectFromString(result); 
    return rect; 
} 
+0

我如何使用document.getElementByTagName执行相同操作? – nidIOS

+0

这太棒了!有没有一个函数来设置boundingClientRect? – tbag