调整表视图单元格大小以显示UITextView和UIWebView

时间:2016-03-31 02:19:38

标签: ios objective-c uitableview uiwebview

我需要动态设置包含UILabel和UITextView的任何单元格的高度,如下所示:

xcode project from Tyler Fox/smileyborg

但是我还需要它用于Web视图以显示转换为Markdown的文本:

my project

但我需要将此Web视图放在表格视图单元格中。换句话说,Web视图的行为与第一个屏幕截图中的UITextView相同

其他条件是:

  • 主题行可以为空白,因此UILabel不会在那里
  • 网页视图的内容会缩小,以使单元格不会太大
  • 用户定义的单元格高度限制;以196为例

1 个答案:

答案 0 :(得分:1)

尝试调整Web视图大小以适应其内容时的难题是,Web视图本身并不知道在其中显示的DOM内容可能有多高。你要做的是询问DOM有多高,并调整你的表格视图单元格及其包含的网页视图,以匹配DOM的高度。要做到这一点,您可以通过JavaScript询问DOM的高度。在我们的代码中,我们这样做:

[detailsWebView stringByEvaluatingJavaScriptFromString: @"document.height"]

这要求DOM告诉你HTML内容的高度。记住这些信息,您可以了解您的网络视图需要多高,这可以帮助您确定您的表格单元格的高度。