estimatedHeightForRowAtIndexPath不更新行高

时间:2016-09-05 14:50:57

标签: ios swift tableview

我有多个具有不同行高的动态单元格。所以,我正在尝试使用方法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的估计行高。有什么问题?

1 个答案:

答案 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

    }

}