如何使用自动布局根据 webview 内容管理 UITableHeaderView 的高度
Posted
技术标签:
【中文标题】如何使用自动布局根据 webview 内容管理 UITableHeaderView 的高度【英文标题】:how to manage Height of UITableHeaderView in based on webview content using auto layout 【发布时间】:2016-10-24 05:59:17 【问题描述】:当我使用自动布局在headerview
上添加UIWebView
时。我无法根据UIWebView
的内容管理headerview
的高度。
【问题讨论】:
【参考方案1】:我建议以下步骤:
首先,将webViewHeight
声明为类变量,以便所有函数都可以访问它。
var webViewHeight: CGFloat = 0.0
然后,获取 UIWebView 内容高度的高度。确保您已在 viewForHeaderInSection
中设置 UIWebView 委托
func webViewDidFinishLoad(webView: UIWebView)
// check if webview finished loading
if !webView.isLoading
if webViewHeight == 0
// get webview height
webViewHeight = webView.scrollView.contentSize.height
// then reload tableView
myTableView.reloadData()
它应该在
中更新func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
return webViewHeight
【讨论】:
"webView.scrollView.contentSize.height" 它总是返回恒定的高度。 @RajniJoharRaswant 它应该返回双精度值。你得到了什么?尝试在webViewDidFinishLoad
中使用 print(webView.scrollView.contentSize.height)@
@RajniJoharRaswant 太好了,别忘了标记这个答案。谢谢
我认为这不是更好的方法,因为当我这样做时它会继续重新加载 tableview。我不知道我是对是错,请纠正我。
@BhavsangJam 很棒。所以我认为需要添加条件来检查webview是否完成加载if !webView.isLoading // do the code here
以上是关于如何使用自动布局根据 webview 内容管理 UITableHeaderView 的高度的主要内容,如果未能解决你的问题,请参考以下文章
自动布局:使用 UIWebViews 自定义 UIView 高度约束
具有自动布局的多行UILabel,如何在不更改标签框架的情况下根据内容调整字体大小?
如何在启用自动布局的情况下根据 UILabel 的内容自动更改 UILabel 对象的高度和下方其他元素的位置
Nativescript-Vue中如何根据内容长度设置WebView的高度?