自我调整单元格
在 iOS 8 中,Apple 推出了自定尺寸单元。使用 Autolayout 显式设置 UITableViewCells,UITableView 为你完成剩下的工作。行高自动计算,默认情况下 rowHeight
值为 UITableViewAutomaticDimension。
UITableView 属性 estimatedRowHeight
用于计算自调整单元格时。
创建自定义表视图单元格时,需要设置此属性并使用约束来定义单元格的大小。
- Apple,UITableView 文档
self.tableView.estimatedRowHeight = 44.0
请注意,如果要为所有单元格设置动态高度,则不需要 tableView 的委托的 heightForRowAtIndexPath
。只需在必要时以及重新加载或加载表视图之前设置上述属性。但是,你可以通过以下功能设置特定单元格的高度,同时使其他单元格具有动态:
迅速
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
switch indexPath.section {
case 1:
return 60
default:
return UITableViewAutomaticDimension
}
}
Objective-C
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
switch (indexPath.section) {
case 1:
return 60;
default:
return UITableViewAutomaticDimension;
}
}