如何检测用户何时将手指放在UIWebView中的图像上?

时间:2011-11-17 23:43:34

标签: iphone cocoa-touch uiwebview

在Mobile Safari中,如果您将手指放在图像上一两秒钟,会出现一个小弹出窗口,让您可以选择保存或复制图像。

有没有办法在应用程序的UIWebView中执行此操作?手势识别器似乎被忽略了,我认为没有任何办法可以解决这种行为。

2 个答案:

答案 0 :(得分:0)

我在网络开发方面不是很强大,但我非常害羞你应该使用自定义java脚本代码,这将检测点击图像并调用弹出窗口。

Here只是一个简单的js注入在iOS UiWebView中的工作原理。

答案 1 :(得分:0)

您可以使用javascript事件来获得所需的效果

- (void)webViewDidFinishLoad:(UIWebView *)webView {
  [webView stringByEvaluatingJavaScriptFromString:@"window.ontouchstart=function(/* ... */);"];
}

将自定义代码放在ontouchstart中。我想你想要的是一个计时器,它检查用户是否在x毫秒之前释放了触摸,如果没有发生,你可以从javascript调用obj-c函数来激活弹出窗口。获取触摸事件的坐标并将其与页面中所有图像的坐标进行比较。

我希望有人会知道这种做法的本地方式;这是一个真正的 hackish解决方法。