Swift — принудительно устанавливает размер ячейки, для которой задано UITableViewAutomaticDimension

#ios #swift #uitableview

#iOS #быстрый #uitableview (пользовательский просмотр) #swift #uitableview

Вопрос:

У меня есть таблица с автоматическим изменением размера, и я хочу принудительно установить высоту некоторых ячеек для отображения только заголовка.

У меня есть это в моем коде:

 tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 140
  

И я попытался добавить фрагмент ниже, но эффект автоматического изменения размера перестал работать:

 tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
  

Пожалуйста, найдите приведенный ниже скриншот таблицы, которую я хочу выполнить.

Комментарии:

1. зачем использовать heightForRowAtIndexPath ?

2. Перестает ли автоматическое изменение размера, если вы возвращаете super.TableView(TableView, heightForRowAtIndexPath: indexPath) для строк, которые вы не хотите скрывать?

Ответ №1:

Если вы хотите продолжать делать все по-своему:

  1. удалить tableView.rowHeight = UITableViewAutomaticDimension , потому что после реализации heightForRowAtIndexPath это ничего не делает.

  2. реализовать heightForRowAtIndexPath метод, который вернет специальную высоту для выбранных ячеек и для других — UITableViewAutomaticDimension

Комментарии:

1. Это сработало! Большое вам спасибо за ответ, @Maksymmusienko. Это мне очень помогло