自我調整單元格
在 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;
}
}