在Swift中扩展Cell 3

时间:2016-08-13 12:14:37

标签: ios swift uitableview cell

我尝试使用this

实施扩展单元格

这是我的heightForRowAt indexPath

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

    switch indexPath.row {
    case 0 : return 70
    case 1 :
        let cell = self.tableView(tableView, cellForRowAt: indexPath)

        if let datePickerCell = cell as? MyDatePickerCell {
            return datePickerCell.datePickerHeight()
        }
        return 260
    case 2 : return 80
    default : return 60
    }

}

应用程序卡在

let cell = self.tableView(tableView, cellForRowAt: indexPath)

UITableView隐藏在模式UIViewController

为什么会这样?

1 个答案:

答案 0 :(得分:0)

我认为正在发生的事情是你的tableView在首先加载它们之前正在寻找你的单元格的高度。所以你试图在加载之前检索单元格,导致崩溃。

要解决此问题,您可以在加载tableView并在heightForCell中使用该单元格之前创建一个虚拟单元格。这更适用于计算每个细胞的可变高度。在这种情况下,可能会对起始高度进行硬编码,然后在此之后将单元格用于高度。