UITableView:构造表后更改一个单元格的高度约束?

UITableView:构造表后更改一个单元格的高度约束?

问题描述:

我可能想要一个奇怪的事情,但任务是拉伸UITableView中的最后一个单元格以填充其余空间。因此,如果表格只有很少的单元格,那么最后一个将其高度与其余的高度相匹配,直到屏幕底部为止。UITableView:构造表后更改一个单元格的高度约束?

为了达到这个目的,我在最后一个单元格的xib中包含了高度约束。 我可以计算出适当的高度并设置常量,但不管我以后做什么 - setNeedsDisplay()setNeedsLayout(),reloadData(),reloadRowsAtIndexPaths()等 - 单元格高度不变。

只有当我第二次调用更新代码时,才会调整布局。

任何提示如何强制立即更新单元格?

你需要有以下实现(viewDidLoad是好的)。

var estimatedRowHeight = 80 (for example) 

// Set automatic dimension on row height. 
tableView.rowHeight = UITableViewAutomaticDimension 

// Set estimated row height. 
tableView.estimatedRowHeight = estimatedRowHeight 

取出高度约束,然后打电话给你调整尺寸无论是reloadData,或reloadRowsAtIndexPaths()

您是否尝试过以下方法?你在哪里检查最后一个indexPath.row并放置一个不同的高度来计算。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;