【问题标题】:Embedding a long UIWebView within a table view cell with various heights在具有不同高度的表格视图单元中嵌入长 UIWebView
【发布时间】:2010-06-04 10:36:25
【问题描述】:

我希望能够将 UIWebView 嵌入到 tableview 的单元格中(分组样式)。

网络视图很长(比屏幕长),我希望它显示完整长度。因此,Web 视图本身没有滚动,只是在桌子上。

------------------------
| a normal table cell  |
------------------------
| a normal table cell 2|
------------------------
|   a long webview     |
|  which doesn't scroll|
|  within itself       |
|                      |
|                      |
|                      |
|                      |
|                      |
|                      |
|                      |
|                      |
|                      |
|                      |
|                      |
------------------------

Web 视图会有不同的高度,那么如何发现 Web 视图的高度以便调整 heightForRowAtIndexPath 中的高度?

【问题讨论】:

    标签: iphone objective-c uitableview uiwebview


    【解决方案1】:

    您可以这样做,但请参阅下面的警告:

    您可以加载网页视图,然后使用 javascript 函数来确定内容的高度。然后您可以使用 [myWebView stringByEvaluatingJavaScriptFromString: ..] 来获取高度。

    这就是问题所在。 UIWebViews 相当慢。在知道行的高度之前,表格无法呈现自己,因为这就是它确定要获取哪些表格单元格的方式。所以滚动你的表格视图会很不稳定,因为每次向下滚动到一个新单元格时,都需要计算高度。

    您可以采取两种方法:

    1) 不要使用嵌入在 UITableCell 中的 UIWebView。而是使用 UILabel 并使用一些 NSString 便捷方法来确定其高度。

    2) 对整个表格使用 UIWebView。通过这样做,您可以非常接近地模拟 tableview,并且您将获得所需的 UI。要处理点击等事件,请使用 UIWebViewDelegate 提供的 URL 加载钩子。

    【讨论】:

      猜你喜欢
      • 2019-12-26
      • 2012-12-11
      • 2018-05-06
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-10
      相关资源
      最近更新 更多