Несмотря на то, что для всех элементов установлены ограничения, включая вертикальные, необходимые для вычисления высоты ячейки, автоматическая компоновка, похоже, игнорируется: все ячейки сжаты.
Вот скриншот результата и ограничений в раскадровке.
В VC, который содержит tableView, вот код в viewDidLoad:
tableView.estimatedRowHeight = 120.0
tableView.rowHeight = UITableViewAutomaticDimension
Закомментировав вторую строку, вы получите ячейки с высотой 120,0, но также игнорируется автоматическая раскладка.
Благодарность
Обновить
Чтобы упростить интерфейс, я оставил одну метку с ограничениями:
- Ведущее пространство для супервизора
- Верхнее пространство для просмотра
- Фиксированная ширина и высота (100 и 100)
- Нижнее пространство до края контейнера, чтобы убедиться, что ячейка имеет все вертикальные ограничения для определения ее высоты
И с этим упрощенным интерфейсом автоматическая компоновка по-прежнему не принимается во внимание, что намекает мне, что проблема возникла не из-за неправильно установленных ограничений.
В Инспекторе размеров высота строки установлена на 120 и отмечен флажок «Пользовательский». Ячейка имеет правильный настраиваемый класс, идентификатор повторного использования ячейки правильный.
Обновление: найдено решение
Это была простая ошибка, см. Мой ответ ниже.