2011-09-13 47 views
14

Tôi có UIWebView được tải bằng html trong Chương trình iPad của mình. Bằng cách sử dụng -webkit-column-width, tôi đã chia html thành nhiều cột.Cách lấy vị trí của một phần tử trong UIWebView?

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

Làm cách nào để có được vị trí phần tử (x, y) trong chế độ xem web? Vị trí nằm trên vị trí màn hình, không phải trong html. Vì vậy, y nằm trong phạm vi từ 0 đến chiều cao của chế độ xem web.

Xin cảm ơn trước.

+0

Đây có phải là không giống như câu hỏi của bạn tại http://stackoverflow.com/questions/7378102/using-css3-columns-how-can -get-element-position/7429994? – chris5marsh

Trả lời

2

Ok, tôi giải quyết sử dụng chức năng jquery

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

tôi được x thực tế, giá trị y. Cảm ơn.

+0

làm thế nào tôi có thể có được x, y từ vị trí var? – harshitgupta

33

Bởi vì phải bao gồm jQuery chỉ cho này sucks:

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

Tôi có thể làm như thế bằng cách sử dụng document.getElementByTagName? – nidIOS

+0

Điều này thật tuyệt vời! Có một chức năng để thiết lập boundingClientRect? – tbag

Các vấn đề liên quan