我有多个具有不同行高的动态单元格。所以,我正在尝试使用方法estimatedHeightForRowAtIndexPath
更新行高这是我的代码:
override func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
switch indexPath.row {
case 0:
return 132
case 1:
return 66
case 2:
return 80
case 3:
return 70
case 4:
return 50
case 5:
return 60
case 6:
return 60
default:
return 60
}
}
但是,行高不会更新。它使用了Storyboard的估计行高。有什么问题?
答案 0 :(得分:2)
在你的情况下,你应该使用方法heightForRowAtIndexPath
。
如果您想使用自动调整大小的单元格,请使用estimatedHeightForRowAtIndexPath
。
提供估计行的高度可以改善用户 加载表视图时的体验。如果表包含变量 高度行,计算所有高度可能是昂贵的 因此导致更长的加载时间。使用估计允许您推迟 从加载时间到滚动的几何计算的一些成本 时间。
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
switch indexPath.row {
case 0:
return 132
case 1:
return 66
case 2:
return 80
case 3:
return 70
case 4:
return 50
case 5:
return 60
case 6:
return 60
default:
return 60
}
}