Как установить rowHeight первой ячейки в табличном представлении - PullRequest
0 голосов
/ 21 июня 2019

Я бы хотел изменить высоту первой (top = index 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...

1 Ответ

0 голосов
/ 21 июня 2019

Вам необходимо реализовать метод делегата heightForRowAt

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

Вы также можете вернуть динамический для других ячеек, если вы хотите с

return indexPath.row == 0 ? 200 : UITableView.automaticDimension

Совет вместо

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

Всегда использовать

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