2010-06-04 66 views
1

我希望能够将UIWebView嵌入到tableview的单元格(分组样式)中。在各种高度的表格视图单元格中嵌入长UIWebView

Web视图很长(比屏幕长),我希望它显示它的全长。因此,在Web视图本身内部没有滚动,仅在桌面上。

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

Web视图将有不同的高度,所以我怎么能发现web视图的高度,以调整heightForRowAtIndexPath的高度?

回答

0

这里是你如何能做到这一点,但请参阅下面我的注意:

你可以加载Web视图,然后使用JavaScript函数来确定内容的高度。然后你可以使用[myWebView stringByEvaluatingJavaScriptFromString:..]来获得高度。

这是问题所在。 UIWebViews相当慢。该表只有知道行的高度时才能表现出来,因为这就是它如何确定要获取哪个表格单元格。所以滚动你的表格视图将会不稳定,因为每次你向下滚动到一个新单元格时,高度都需要计算。

,有两种方式可以采取:

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

2)对整个表使用UIWebView。通过这样做你可以非常精确地模拟一个tableview,并且你将得到你需要的UI。要处理点击等事情,请使用UIWebViewDelegate提供的URL加载挂钩。

相关问题