【发布时间】:2012-01-16 05:31:23
【问题描述】:
我有一个 UIWebView,其中有一个 UITapGestureRecognizer,基本上在我的点击手势识别器中我有:
- (CGPoint) pointsForImage:(UIGestureRecognizer *)sender
{
CGPoint pt = [sender locationInView:self];
NSString * offsetTop = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).offsetTop", pt.x, pt.y
];
NSString * offsetLeft = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).offsetLeft", pt.x, pt.y
];
NSString * scrollTop = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).parentNode.scrollTop", pt.x, pt.y
];
NSString * scrollLeft = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).parentNode.scrollLeft", pt.x, pt.y
];
float x = [[self stringByEvaluatingJavaScriptFromString:offsetTop] floatValue] - [[self stringByEvaluatingJavaScriptFromString:scrollTop] floatValue];
float y = [[self stringByEvaluatingJavaScriptFromString:offsetLeft] floatValue] - [[self stringByEvaluatingJavaScriptFromString:scrollLeft] floatValue];
CGPoint point = CGPointMake(x, y);
return point;
}
基本上我要做的是找到图像的左上角 x 和 y 位置。不是相对于 UIWebView 而是相对于内容视图。所以说图像的位置向下 1000 像素,但我现在正在浏览 UIWebView 一半,因此我想看到的数字是 200。我希望这是有道理的
【问题讨论】:
标签: iphone objective-c ios ipad uiwebview