Как получить позицию элемента в UIWebView?

У меня есть UIWebView, загруженный html в мою программу iPad. Используя -webkit-column-width, я разделил html на несколько столбцов.

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

Как я могу получить позицию элемента (x, y) в webview? Позиция находится на экране, а не в html. Таким образом, y находится в диапазоне от 0 до высоты webview.

Спасибо заранее.

Ответы

Ответ 1

Хорошо, я решил использовать функцию jquery

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

Я получаю реальные значения x, y. Спасибо.

Ответ 2

Потому что нужно включить 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;
}