Подтвердить что ты не робот

UITableViewCell: настраиваемая высота строки для прототипа ячейки

В моем файле раскадровки я проектирую несколько прототипов в UITableView. Каждая ячейка имеет свой собственный уникальный идентификатор ячейки.

В зависимости от раздела и строки я деактивирую одну из прототипов в методе - tableView: cellForRowAtIndexPath:

Для большинства прототипов я не изменил высоту строки. На моей раскадровке их высота, по-видимому, определяется свойством "Высота строки" в разделе "Инспектор размеров" UITableView.

Для одной ячейки прототипа я изменил высоту с помощью свойства "Высота строки" в разделе "Инспектор размера" конкретного UITableViewCell. Также отмечен флажок "Пользовательский".

На моем раскадровке это, похоже, хорошо работает. Но во время выполнения, когда мои ячейки откладываются и добавляются в TableView, все ячейки получают высоту строки по умолчанию.

Теперь я знаю метод tableView: heightForRowAtIndexPath: он упоминается в других сообщениях, но кажется немного странным, поскольку я устанавливаю собственную высоту строки в своем раскадровке уже.

Кто-нибудь знает, почему это свойство не работает? Возможно ли, что это свойство может использоваться в разных ситуациях?

Спасибо

4b9b3361

Ответ 1

heightForRowAtIndexPath вызывается (для каждой строки таблицы) до отображения ячеек, то есть до вызова cellForRowAtIndexPath. Это необходимо для вычисления макета основного прокрутки, указателей прокрутки и т.д.

Ответ 2

Если вы хотите использовать Interface Builder в Xcode 5 для изменения высоты строк в представлении таблицы без кода, вы можете сделать это в двух местах:

  • Выберите представление таблицы, покажите Инспектор размера и введите его в Высота строки, в разделе Таблица размеров.

Default row height

  • Выберите ячейку прототипа, покажите Инспектор размеров, проверьте Пользовательский в разделе Таблица Размеp > и введите высоту строки в ассоциированной текстовое поле.

Custom row height

Может быть, вы используете второй метод? Попытайтесь использовать первый метод для установки высоты по умолчанию для всех строк в представлении таблицы, а второй - для объяснения Interface Builder об исключениях.