WKWebView 禁用缩放和快速编辑

Posted

技术标签:

【中文标题】WKWebView 禁用缩放和快速编辑【英文标题】:WKWebView disable zoom and edit in swift 【发布时间】:2017-11-24 07:16:36 【问题描述】:

在该 Web 视图中使用 WKWebView 加载 url 无法禁用缩放和编辑。这是我的代码。

 [myWebView = WKWebView(frame: CGRect( x: 0, y: 20, width: self.view.frame.width, height: self.view.frame.height - 20 ), configuration: WKWebViewConfiguration() )
        myWebView.translatesAutoresizingMaskIntoConstraints = false
        myWebView.navigationDelegate = self
        myWebView.uiDelegate = self
        self.myWebView.isMultipleTouchEnabled = false
        view = myWebView
        myWebView.scrollView.showsHorizontalScrollIndicator = false;
        myWebView.scrollView.showsVerticalScrollIndicator = false;

        myWebView.uiDelegate = self
        myWebView.navigationDelegate = self
        myWebView.scrollView.delegate = self


        myWebView.scrollView.bounces = false
        myWebView.scrollView.bouncesZoom = true
        myWebView.isMultipleTouchEnabled = false

      func viewForZooming(in: UIScrollView) -> UIView? 
        return nil;
      

如何删除编辑和缩放打开。提前帮我谢谢。

【问题讨论】:

【参考方案1】:

斯威夫特 4: 禁用缩放

override func viewDidLoad() 
      super.viewDidLoad()
      self.webView.scrollView.delegate = self


func scrollViewWillBeginZooming(_ scrollView: UIScrollView, with view: UIView?) 
      scrollView.pinchGestureRecognizer?.isEnabled = false
    

【讨论】:

双击缩放怎么样? 这也是设备旋转的问题。旋转后,网络视图会失去“缩放以适应”并且无法缩放))。【参考方案2】:

要禁用缩放,请使用以下代码行

      let source: String = "var meta = document.createElement('meta');" + "meta.name = 'viewport';" + "meta.content = 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no';" + "var head = document.getElementsByTagName('head')[0];" + "head.appendChild(meta);";
      let script: WKUserScript = WKUserScript(source: source, injectionTime: .atDocumentEnd, forMainFrameOnly: true)
      let userContentController: WKUserContentController = WKUserContentController()
      let conf = WKWebViewConfiguration()
      conf.userContentController = userContentController
      userContentController.addUserScript(script)
      let webView = WKWebView(frame: CGRect.zero, configuration: conf)

希望对你有帮助

【讨论】:

以上是关于WKWebView 禁用缩放和快速编辑的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式启用/禁用捏合以放大 WKWebView 和 viewForZoomingInScrollView

在 iOS WKWebView 中保留“Referer”标头?

iOS-WebView(WKWebView)进度条

Swift WKWebview---解决的常见问题

使WKWebView在后台保持不变,同时显示另一个视图

如何从反应原生包中禁用羽毛笔编辑器的自动缩放?