iOS Swift WKWebView 不缩放

Ama*_*aed 2 webview ios swift wkwebview

我正在开发一个 iOS 应用程序,它有一个可以在其中加载的 Web 视图。我正在使用WKWebView,但它没有缩放。

我设置了最小和最大比例webView's scrollView,但仍然不起作用。

@IBOutlet weak var webView: WKWebView!
webView.scrollView.minimumZoomScale = 0.1
webView.scrollView.maximumZoomScale = 1.0
Run Code Online (Sandbox Code Playgroud)

如何启用 的缩放WKWebView

Sur*_*mas 5

适用于 Xcode 11、swift 4、iOS 12,13。实现WebView导航Delegate

    let isAllowZoom: Bool = false
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        webView.scrollView.isScrollEnabled = true
        webView.scrollView.bounces = false
        webView.allowsBackForwardNavigationGestures = false
        webView.contentMode = .scaleToFill
        webView.navigationDelegate = self
    }
    
    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        if isAllowZoom {
            let javascript = "var meta = document.createElement('meta');meta.setAttribute('name', 'viewport');meta.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=10.0, user-scalable=yes');document.getElementsByTagName('head')[0].appendChild(meta);"
            webView.evaluateJavaScript(javascript, completionHandler: nil)
        } else {
            let javascript = "var meta = document.createElement('meta');meta.setAttribute('name', 'viewport');meta.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no');document.getElementsByTagName('head')[0].appendChild(meta);"
            webView.evaluateJavaScript(javascript, completionHandler: nil)
        }
    }
Run Code Online (Sandbox Code Playgroud)