1

我的 ViewController 中有一个 UITableView ,它的行有自定义内容。每个单元格的高度根据单元格的内容使用- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath方法动态计算。

但是如何设置 UITableView 的高度呢?因为如果我的表只包含一行,那么在行之后我会在我的表中看到一个大空格?是否有任何属性可以根据其内容动态增加或减少表格的高度?

4

2 回答 2

4

contentSize根据您拥有的行数和节数进行调整,如果您想更改表格视图的实际大小,您应该调整frame属性

如果只有几行时的白色背景困扰着你,你最好在桌子上放一个 backgroundView 或颜色

于 2012-09-14T21:41:08.130 回答
1

试试 contentSize 方法,它继承自 UITableView 的超类 UIScrollView。但是,您可能会发现 contentSize 返回的值不正确或过时,因此您可能应该首先调用 layoutIfNeeded 来重新计算表格的布局。

[tableView layoutIfNeeded];

// 允许您在绘制周期发生之前执行布局。//-layoutIfNeeded 提前强制布局。所以它会正确返回大小。就像做梦之前做的一样。

CGSize tableSize=tableView.contentSize;
于 2013-07-30T04:24:08.123 回答