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;