如何根据可变高度UITableView内的内容确定UIWebView高度?

时间:2016-10-07 13:01:38

标签: ios objective-c uitableview uiwebview

我有一个UITableView单元格,其大小可变,具体取决于它的内容(可能有几行文字)。

由于在布局单元格之前看起来heightForRowAtIndexPath被调用,我只是通过在我的文本字符串上调用[NSString sizeWithFont]来猜测正确的高度。在我在单元格中放置文本并确定它应该具有多大的尺寸后,是否有更好的方法来设置高度?

我的问题是每个单元格包含一个UIWebView,其中包含不同的(静态加载的)内容,我无法根据内容计算出合适的高度。有没有办法做到这一点?我尝试过这样的事情:

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
       WebViewCell *cell = (WebViewCell*)[self tableView:tableView cellForRowAtIndexPath:indexPath];
       [cell setNeedsLayout];
       [cell layoutIfNeeded];
       return cell.bounds.size.height;
    }

单元格本身是从一个笔尖加载的,这只是一个包含UITableViewCell的{​​{1}}。 (如果细胞只调整到html内容的最大值,那也没关系,尽管可变高度会更好)。

1 个答案:

答案 0 :(得分:1)

- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath: (NSIndexPath *) indexPath { 
      UITableViewCell   *cell = [self tableView: tableView cellForRowAtIndexPath: indexPath]; 
      return cell.bounds.size.height; 
}