2011-09-13 31 views
14

Mam UIWebView załadowany z html w moim programie iPad. Używając opcji -webkit-column-width, podzieliłem html na kilka kolumn.Jak uzyskać pozycję elementu w interfejsie UIWebView?

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

Jak mogę uzyskać pozycję elementu (x, y) w widoku webowym? Pozycja jest na ekranie, a nie w html. Więc y jest w zakresie od 0 do wysokości podglądu strony.

Z góry dziękuję.

+0

Czy to nie to samo pytanie w http://stackoverflow.com/questions/7378102/using-css3-columns-how-can -get-element-position/7429994? – chris5marsh

Odpowiedz

2

ok, rozwiązano przy użyciu funkcji jquery

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

I otrzymuje rzeczywiste Wartości x, y. Dzięki.

+0

Jak mogę uzyskać x, y z pozycji var? – harshitgupta

33

powodu konieczności obejmować jQuery tylko za to do bani:

- (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

Jak mogę zrobić to samo za pomocą document.getElementByTagName? – nidIOS

+0

To jest niesamowite! Czy istnieje funkcja ustawiania boundingClientRect? – tbag

Powiązane problemy