我想根据 WebView 的内容向 UIWebView
添加动态高度。
我正在 webView 中加载 HTML 文件。
我还引用了以下链接。
UIWebView dynamic content size
但没有得到结果。
这是我的代码......
self.mapWebView.delegate = self
let mapHtmlFile = Bundle.main.path(forResource: "map", ofType: "html")
let html = try? String(contentsOfFile: mapHtmlFile!, encoding: String.Encoding.utf8)
self.mapWebView.loadHTMLString(html!, baseURL: nil)
委托(delegate)方法
func webViewDidFinishLoad(_ webView: UIWebView) {
webView.frame.size.height = 1
webView.frame.size = webView.sizeThatFits(.zero)
webView.scrollView.isScrollEnabled=false;
self.cnDirectionWebViewHeight.constant = webView.scrollView.contentSize.height
webView.scalesPageToFit = true
// tried following code. Doesn't work
//webView.frame.size.height = 1
//webView.frame.size = webView.sizeThatFits(CGSize.zero)
}
谁能帮我摆脱这个麻烦吗?
提前致谢......
最佳答案
一个快速的解决方案是使用框架而不是约束来实现它。将 func webViewDidFinishLoad(_ webView: UIWebView) {}
的当前实现替换为:
func webViewDidFinishLoad(_ webView: UIWebView) {
webView.scrollView.isScrollEnabled=false;
let height = webView.scrollView.contentSize.height
webView.scalesPageToFit = false
webView.frame.size.height = height
}
使用约束:
func webViewDidFinishLoad(_ webView: UIWebView) {
webView.scrollView.isScrollEnabled=false
webView.scalesPageToFit = false
self.cnDirectionWebViewHeight.constant =
webView.scrollView.contentSize.height
webView.layoutIfNeeded()
}
关于ios - UIWebView动态高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52930150/