我想根据WebView的内容将动态高度添加到UIWebView
。
我正在将HTML文件加载到我的webView中。
我也参考了以下链接。
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)
代理方法
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)
}
有人可以帮我解决这个麻烦吗?
提前谢谢。...
答案 0 :(得分:0)
一种快速的解决方案是使用框架而不是约束来实现它。将此替换为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()
}