swift 中的动态 webview 高度问题
Dynamic webview height issue in swift
我有一个 VC,在其中顶部有一个视图,我放置了一个 Web 视图,我正在其中从 URL 加载数据,在 Web 视图下还有另一个视图。现在我正在尝试根据其中的内容制作 webview 的动态高度。它的高度工作正常但是当我滚动 VC 它滚动到 webview 内容并且不显示它下面的视图。我的观点是这样的,
enter image description here
我正在像这样制作 webview 动态高度,
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
webView.frame.size.height = 1
webView.frame.size = webView.sizeThatFits(.zero)
webView.scrollView.isScrollEnabled=false;
webView.evaluateJavaScript("document.documentElement.scrollHeight", completionHandler: { (height, error) in
self.webViewHeight.constant = height as! CGFloat
//self.bgViewHeight.constant = webView.scrollView.contentSize.height + 500
})
}
它工作正常,但是当我滚动 VC 它不显示下方的视图。
这是我 运行 应用程序时 VC 的样子,
enter link description here
我已经检查了你的代码。有两个问题
您已将静态高度赋予滚动视图的子视图。
最后一个视图的底部约束没有连接到父视图的底部。
我做了什么:
- 将最后一个约束附加到滚动视图的底部
- 删除了总高度限制
- 重新附加 webview 约束并在您的 evaluateJavaScript 方法中分配它的高度。
我有一个 VC,在其中顶部有一个视图,我放置了一个 Web 视图,我正在其中从 URL 加载数据,在 Web 视图下还有另一个视图。现在我正在尝试根据其中的内容制作 webview 的动态高度。它的高度工作正常但是当我滚动 VC 它滚动到 webview 内容并且不显示它下面的视图。我的观点是这样的, enter image description here
我正在像这样制作 webview 动态高度,
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
webView.frame.size.height = 1
webView.frame.size = webView.sizeThatFits(.zero)
webView.scrollView.isScrollEnabled=false;
webView.evaluateJavaScript("document.documentElement.scrollHeight", completionHandler: { (height, error) in
self.webViewHeight.constant = height as! CGFloat
//self.bgViewHeight.constant = webView.scrollView.contentSize.height + 500
})
}
它工作正常,但是当我滚动 VC 它不显示下方的视图。 这是我 运行 应用程序时 VC 的样子, enter link description here
我已经检查了你的代码。有两个问题
您已将静态高度赋予滚动视图的子视图。
最后一个视图的底部约束没有连接到父视图的底部。
我做了什么:
- 将最后一个约束附加到滚动视图的底部
- 删除了总高度限制
- 重新附加 webview 约束并在您的 evaluateJavaScript 方法中分配它的高度。