WebView高度在更新约束常数后未更改

问题描述 投票:0回答:1

我正在uicollectionview单元内使用webview。加载html后,我更新了webview高度约束常量。按照以下方式。

public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        print("Load Completed")
        webView.evaluateJavaScript("document.readyState", completionHandler: { (complete, error) in
            if complete != nil {
                self.webview.evaluateJavaScript("document.body.offsetHeight", completionHandler: { (height, error) in

                    DispatchQueue.main.async {
                        self.webviewHeightConstraint.constant = height as! CGFloat
                        print("Height ",height as! CGFloat)
                        self.webview.setNeedsUpdateConstraints()
                    }
                })
            }
        })
    }

它给出正确的高度值,但是直到我滚动很少时,ui才改变。但是,我开始滚动,正确更改了webview的高度。这是什么问题。请帮助我。

谢谢,

ios swift wkwebview ios-autolayout
1个回答
0
投票

替换

self.webview.setNeedsUpdateConstraints()

with

self.view.layoutIfNeeded()
© www.soinside.com 2019 - 2024. All rights reserved.