调整表格视图单元格以显示 UITextView 和 UIWebView
Posted
技术标签:
【中文标题】调整表格视图单元格以显示 UITextView 和 UIWebView【英文标题】:Resizing Table View Cells to Display UITextView and a UIWebView 【发布时间】:2016-03-31 02:19:37 【问题描述】:我需要像这样动态设置包含 UILabel 和 UITextView 的任何单元格的高度:
但我也需要它来让 web 视图显示转换为 Markdown 的文本:
但我需要此 Web 视图位于表格视图单元格中。换句话说,Web 视图的行为与第一个屏幕截图中的 UITextView 相同
其他条件是:
主题行可以为空,因此 UILabel 不会在那里 Web 视图的内容将缩小,以使单元格不会太大 有用户定义的单元格高度限制;以196为例【问题讨论】:
您的问题是什么?您尝试做的事情中有哪些部分您无法完成?你已经尝试过什么? 我已经能够使用 PureLayout,但我希望让它布局一个 web 视图 github.com/PureLayout/PureLayout 【参考方案1】:尝试调整 Web 视图的大小以适应其内容时遇到的难题是,Web 视图本身并不知道其中显示的 DOM 内容可能有多高。您需要做的是询问 DOM 它有多高,然后调整您的表格视图单元格和它包含的 Web 视图,以匹配 DOM 的高度。为此,您可以通过 javascript 询问 DOM 它有多高。在我们的代码中,我们这样做:
[detailsWebView stringByEvaluatingJavaScriptFromString: @"document.height"]
这要求 DOM 告诉你它的 html 内容有多高。考虑到这些信息,您可以计算出您的 Web 视图需要多高,这应该可以帮助您确定表格单元格的高度。
【讨论】:
以上是关于调整表格视图单元格以显示 UITextView 和 UIWebView的主要内容,如果未能解决你的问题,请参考以下文章
选择表格单元格以显示 iOS7 上的新视图崩溃,“无法识别的选择器发送到实例”
自动大小表格视图单元格扩展高度中的嵌套水平集合视图使集合视图滚动重置当重新加载单元格以累积行