我如何拥有两个不同高度的单独单元格?

时间:2017-04-19 17:25:06

标签: ios swift uitableview

我有两个自定义单元格,但无法为这两个单元格设置静态高度,我需要第一个单元格的高度为100,而其他每个单元格的高度都为40.以下代码生成所有单元格高度为100而不是第一个。

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        if(indexPath.row == 0) {
            return 100.0
        }
            return 40.0
    }

1 个答案:

答案 0 :(得分:0)

您可以将第一个单元格放在不同的部分。

func numberOfSections(in tableView: UITableView) -> Int {
    return 2
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    if section == 0 {
        return 1
     }else {
        return yourArray.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    if indexPath.section == 1 {
        let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath) as! FirstCustomCell
        return cell
    }else{
        let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath) as! SecondCustomCell
        return cell
}

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    if indexPath.section == 1 {
        return 100
    } else{
        return 40
}