2011-09-13 22 views
14

Ho UIWebView caricato con html nel mio programma iPad. Usando -webkit-column-width, ho diviso l'html con diverse colonne.Come ottenere la posizione di un elemento in UIWebView?

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

Come posso ottenere la posizione dell'elemento (x, y) in Webview? La posizione è nella posizione dello schermo, non nell'html. Quindi y è nel range da 0 a height di webview.

Grazie in anticipo.

+0

questo non è lo stesso che la tua domanda a http://stackoverflow.com/questions/7378102/using-css3-columns-how-can -get-elemento-position/7429994? – chris5marsh

risposta

2

Ok, ho risolto utilizzando funzione jquery

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

I ottiene x reali, valori di y. Grazie.

+0

come posso ottenere x, y dalla posizione var? – harshitgupta

33

Perché dover includere jQuery proprio per questo schifo:

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

Come posso fare lo stesso usando document.getElementByTagName? – nidIOS

+0

Questo è fantastico! Esiste una funzione per impostare boundingClientRect? – tbag

Problemi correlati