swift-从零开始WKWebView的UI交互问题

Posted 火海夕

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift-从零开始WKWebView的UI交互问题相关的知识,希望对你有一定的参考价值。

1.自适应高度

// 加载结束

func webView(_webView:WKWebView, didFinish navigation:WKNavigation!) 

1. 自适应高度:

        webView.evaluatejavascript("document.body.scrollHeight") [weakself] result,_in

            if let tempHeight:Double= resultas?Double

                self?.maximumHeightConstraint.constant=CGFloat(tempHeight)

            

        

2. 禁用缩放功能:     

  let jsForbiddenZooming = "var script = document.createElement('meta');script.name = 'viewport';script.content='width=device-width, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no';document.getElementsByTagName('head')[0].appendChild(script);"

        webView.evaluateJavaScript(jsForbiddenZooming, completionHandler:nil)

3. 禁用长按选择和复制功能:     

   webView.evaluateJavaScript("document.documentElement.style.webkitTouchCallout='none';", completionHandler: nil)

        webView.evaluateJavaScript("document.documentElement.style.webkitUserSelect='none';", completionHandler: nil)

    

4. 解决 webview内容下移的问题:


override func viewDidLoad() 

        super.viewDidLoad()
        
        webView.isOpaque = false

        webView.backgroundColor = .clear

        webView.scrollView.backgroundColor = .clear

        if #available(ios 11.0, *) 

            webView.scrollView.contentInsetAdjustmentBehavior = .never

        else

            self.automaticallyAdjustsScrollViewInsets = false

        

    

 

以上是关于swift-从零开始WKWebView的UI交互问题的主要内容,如果未能解决你的问题,请参考以下文章

iOS Swift5.0 WKWebView使用JS与Swift交互

swift 笔记:iOS与JavaScript的交互(三):WKWebView 3. WKUiDelegate - 4 - 3新建WKWebView的时候传入WKConfig:

swift 笔记:iOS与JavaScript的交互(三):WKWebView 2.显示加载进度

swift 笔记:iOS与JavaScript的交互(三):WKWebView 3. WKUiDelegate - 7.3

swift 笔记:iOS与JavaScript的交互(三):WKWebView 3. WKUiDelegate - 7.1确立暗号

swift 笔记:iOS与JavaScript的交互(三):WKWebView 3. WKUiDelegate - 4 - 1 loadUserScrip()