UITableViewAutomaticDimension Чтобы соответствовать подпредставлениям

В моем приложении есть табличное представление с автоматическим изменением высоты строк (UITableViewAutomaticDimension для heightForRow-Delegate-Function). Мои пользовательские ячейки имеют подпредставления, которые могут иметь различные размеры (они всегда содержат разное количество гистограмм).

Однако автоматическая высота ячейки не работает, чтобы соответствовать этим различным размерам подпредставления ячейки табличного представления.

Это только работает, если я устанавливаю ограничение (например, make.top.equalTo(self).offset(300) с комплектом привязки) для подпредставления в ячейке табличного представления, но, поскольку эти подпредставления могут иметь разные размеры, это не чистое решение.

Вы знаете лучший подход?

Спасибо!


person Pascal    schedule 07.11.2017    source источник
comment
@кто бы ни проголосовал против этого вопроса: конечно, вы можете проголосовать против, однако я бы порекомендовал оставить комментарий, чтобы указать, что вам не нравится в этом вопросе - например, ссылку на знакомый вопрос (которого я не нашел) или подсказку, если вы не разбираетесь в этом вопросе.   -  person Pascal    schedule 07.11.2017
comment
Согласитесь, если вы что-то минусуете, то хотя бы оставьте комментарий.   -  person alegelos    schedule 07.11.2017


Ответы (1)


Во-первых: в viewdidLoad (не в делегате):

tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 140 //this estimation will improve performance (can be omitted), set the +/- size of most cases.

Просто не переопределяйте делегат высоты ячейки.

Второе: в свою ячейку вы добавили этот subView, который содержит символы. Добавьте ограничения этого подпредставления, но, что более важно, добавьте вертикальное расстояние между этим подпредставлением и ячейкой (в данном случае суперпредставлением). Как изображение.

введите здесь описание изображения

Если высота подвида установит высоту ячейки. Просто убедитесь, что ваши символы внутри subView устанавливают высоту subView (с ограничениями).

Для получения более подробной информации, здесь есть хорошее пошаговое руководство.

person alegelos    schedule 07.11.2017
comment
@Pascal, ты смог решить проблему? Может есть сомнения? - person alegelos; 07.11.2017