iOS Swift WKWebView 不缩放

标签 ios swift webview wkwebview

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

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

@IBOutlet weak var webView: WKWebView!
webView.scrollView.minimumZoomScale = 0.1
webView.scrollView.maximumZoomScale = 1.0

如何启用 WKWebView 的缩放功能?

最佳答案

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

    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)
        }
    }

关于iOS Swift WKWebView 不缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55126409/

相关文章:

iOS 将音频采样率从 16 kHz 转换为 8 kHz

ios - iPhone应用程序拒绝17.2 : app requires users sign in with their Facebook accounts

objective-c - USB 设备发送/接收数据

ios - UICollectionViewCompositionalLayout 最小项目大小

ios - 如何使用另一个 View Controller 类的数组?

安卓 : WebView onPageFinished not calling after shouldOverrideUrlLoading method in android 4. 4

ios - Swift:使用 snapkit 时如何获得正确的 UICollectionView 高度?

objective-c - 使用正则表达式查找/替换 NSString 中的子字符串

ios - 在 Xcode 中使用 Swift 确定在 webView 中完成加载网站

android - 如何在 Android 中更改 Webview 的字体?