3
在UIWebView
我需要訪問DOM元素(從SVG圖)的屬性,當我longTap它。要做到這一點,我添加了一個UILongPressGestureRecognizer
如下:UIWebView,縮放&elementFromPoint
UILongPressGestureRecognizer* longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action: @selector(longPress:)];
[self.webView addGestureRecognizer: longPress];
當我長按上來看,處理程序被調用從我所說的JS功能:
- (void) longPress: (UIGestureRecognizer *) gesture {
CGPoint curCoords = [gesture locationInView:self.webView];
if (!CGPointEqualToPoint(curCoords, self.lastLongPress)) {
self.lastLongPress = curCoords;
[self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"longPress(%f, %f)", curCoords.x, curCoords.y]];
}
}
這是我的JS處理:
function longPress(x, y) {
x = x + window.pageXOffset;
y = y + window.pageYOffset;
var element = svgDocument.elementFromPoint(x, y);
alert(element.localName + ' ' + x + ' ' + y + ' ' + window.innerWidth + ' ' + window.innerHeight);
}
但是似乎UIWebView
座標=從DOM座標(這裏我點擊不對應於ALER所示的localName T)。我已經設法弄清楚,有+/- UIWebView
之間的1.4係數座標& JS的人(通過點擊屏幕下方,右手邊,這些值將window.innder{Width,Height}
比較。
我的猜測是, UIWebView
最初可能應用默認縮放比例,但我找不到什麼這個值對應。
此外,我還需要一種方法,使這項工作時,用戶實際上縮放/移動頁面。
有沒有人知道我在做什麼錯?
謝謝,
搞清楚問題的好工作是變焦比感謝 – malhal