2011-09-13 26 views
14

私はiPadプログラムでhtmlでUIWebViewを読み込んでいます。 -webkit-column-widthを使用することで、htmlを複数の列に分割しました。UIWebViewで要素の位置を取得する方法は?

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

どのようにしてエレメントビュー(x、y)をウェブビューで取得できますか?位置は、HTMLではなく、画面の位置にあります。したがって、yはwebviewの0から高さの範囲です。

ありがとうございます。

+0

これはhttp://stackoverflow.com/questions/7378102/using-css3-columns-how-canであなたの質問と同じではありません-get-element-position/7429994? – chris5marsh

答えて

2

[OK]を、私はjqueryの関数Iは実数x、yの値を取得し

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

を用いて解きます。ありがとう。

+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

関連する問題