Ограничения AutoLayout для UITableViewCell contentView не соблюдаются

Я пытаюсь создать динамически изменяющиеся ячейки представления таблицы. Я выполнил изменение размера, используя этот ответ , который очень подробный и полезный.

Однако максимальная ширина метки не вычисляется правильно в heightForRowAtIndexPath .

Моя ячейка в настоящее время имеет только один ярлык в своем contentView , с ограничениями, установленными для contentView всех краев меток к краям contentView . Вот что я имею в IB введите описание изображения здесь

Размер ячейки вычисляется с помощью внеэкранной ячейки в heightForRowAtIndexPath используя

 CGSize size = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize]; 

Во время этого процесса кажется, что он label.preferredMaxLayoutWidth ограничения, а свойство label.preferredMaxLayoutWidth устанавливается label.preferredMaxLayoutWidth 320, но когда метка фактически получает визуализированную, все еще есть дополнение.

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

Прокладки являются макетами макета. Вы должны быть осторожны Constrain to margins опцией Constrain to margins .

Включено Constrain to margins : введите описание изображения здесь

Constrain to margins отключено: введите описание изображения здесь

Как отключить его?

  1. Вы можете дважды щелкнуть одно из ограничений и Relative to margin флажок « Relative to margin :

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

  1. Устранение Constrain to margins при создании ограничений метки:

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

Ссылки по теме:
Что такое «Ограничение маржи» в раскадровке в Xcode 6

  • Пользовательский UITableViewHeaderFooterView с XIB и AutoLayout
  • UILabel неправильно настроен в UITableViewCell (анимация после назначения текста)
  • Использование автоматической компоновки в UITableView для динамических раскладок ячеек и переменных высот строк
  • ширина / высота ячейки сообщения iOS с использованием автоматической компоновки
  • Самонастраивающиеся ячейки с асинхронной загрузкой изображений
  • iOS расширяет UITableViewCell при щелчке с помощью AutoLayout
  • Динамическая высота uitablviewcell неверна из systemLayoutSizeFittingSize
  • Подкласс UITableViewHeaderFooterView с автоматической компоновкой и перезагрузкой раздела не будет работать вместе
  • UILabel в UITableViewCell с автоматической компоновкой имеет неправильную высоту
  • Создание ограничений между представлениями в разных статических UITableViewCells
  • Согласование выравнивания по левому краю пользовательских и стандартных типов UITableViewCell
  • Давайте будем гением компьютера.