如何禁用UIWebView中的双击事件

时间:2015-07-10 14:29:50

标签: ios objective-c uiwebview

我正在构建一个自定义网络应用程序,并且一个不断阻碍的功能是"双击缩放"在UIWebView上。我已经在这个论坛和网站上查看了,但我没有看到一种明显的方法来禁用它。

如何在我的应用中禁用或忽略双击缩放?

4 个答案:

答案 0 :(得分:3)

您可以将此代码放入viewDidLoad方法中来禁用缩放:

myWebView.scalesPageToFit = NO;

还有另一种方法。将此元标记添加到webView内容的head部分:

<meta name="viewport" content="user-scalable=0">

答案 1 :(得分:2)

第一个选项 - 您可以通过设置此选项来禁用双击并捏合以进行搜索。

_webView.scalesPageToFit = NO;
_webView.multipleTouchEnabled = NO;

第二个选项 - 您可以在webViewDidFinishLoad中执行以下代码以防止双击 - 缩放

NSString *js = @"var metaTag=document.createElement('meta');"
"metaTag.name = \"viewport\";"
"metaTag.content = \"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\";"
"document.getElementsByTagName('head')[0].appendChild(metaTag);";
[webView stringByEvaluatingJavaScriptFromString:js];

答案 2 :(得分:2)

Craig:哟你正在做一个网络应用程序......你的代码是HTML / Css / Js,我猜。

  

解决方案:在 [HttpPost] public ActionResult SomeAction(SomeModel model, string actionattribute) { ViewBag.Msg = "actionattribute: " + actionattribute; ViewBag.Msg += "<br />Counter: " + model.Counter; ViewBag.Msg += "<br />Code: " + model.Code; ViewBag.Msg += "<br />Type: " + model.Type; return this.PartialView("_SomePartialView", model); }

中使用此功能
<head></head>

建议 如果您了解元视口选项,您将获胜。在为移动设备做网络应用时非常有用。尤其是苹果公司。

答案 3 :(得分:0)

一个奇怪的解决方案(不要问我它是如何工作的)是隐藏状态栏。状态栏隐藏后,doble tap不再缩放webview。

override var prefersStatusBarHidden : Bool {
    return true
}