我可能想要一个奇怪的东西,但任务是在UITableView中拉伸最后一个单元格以填充剩余空间。因此,如果表格中只有很少的单元格,那么最后一个单元格将与其余单元格相匹配,直到屏幕底部。
为实现这一目标,我在最后一个单元格的xib中包含了高度约束。
我可以计算出合适的高度并设置常数,但事后我做的并不重要 - setNeedsDisplay()
,setNeedsLayout()
,reloadData()
,reloadRowsAtIndexPaths()
等 - 单元格高度为没有改变。
只有当我第二次调用更新代码时,才会调整布局。
任何提示如何立即强制更新单元格?
答案 0 :(得分:0)
您需要实现以下功能(viewDidLoad很好)。
var estimatedRowHeight = 80 (for example)
// Set automatic dimension on row height.
tableView.rowHeight = UITableViewAutomaticDimension
// Set estimated row height.
tableView.estimatedRowHeight = estimatedRowHeight
删除身高限制,然后使用reloadData
或reloadRowsAtIndexPaths()
调用您的调整大小。
答案 1 :(得分:0)
您是否尝试过以下方法?检查最后一个indexPath.row的位置,并设置您计算的不同高度。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;