如何设置tableView中第一个单元格的rowHeight

How to set the rowHeight of the first cell in a tableView

我想更改 table 视图中第一个(顶部 = 索引 0)单元格的高度,同时保持所有其他单元格的高度相同。

我该怎么做?

理想情况下,我希望能够在这里做到这一点:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

   if shouldDisplaySuggestions && indexPath.row == 0 {
        let cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
        cell.textLabel?.text = "help"
        cell.textLabel?.font = UIFont(name: "SFCompactDisplay-Semibold", size: 17)

        return cell
    }

我将所有其他单元格设置为:

tableView.rowHeight = 64.07

这不存在->

tableView.cellForRow(at: IndexPath(row: 0, section: 0)).row...

您需要实现委托方法heightForRowAt

func tableView(_ tableView: UITableView, 
     heightForRowAt indexPath: IndexPath) -> CGFloat {
      return indexPath.row == 0 ? 200 : 100
}

如果你想

,你也可以 return 为其他单元格动态
return indexPath.row == 0 ? 200 : UITableView.automaticDimension

提示而不是

let cell = UITableViewCell(style: .default, reuseIdentifier: "cell")

始终使用

let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)!