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

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

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

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

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

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

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

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

One Solution collect form web for “Ограничения AutoLayout для UITableViewCell contentView не соблюдаются”

Прокладки являются макетами макета. Вы должны быть осторожны 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

  • Кнопка «Удалить» охватывает текст в UITableViewCell
  • Динамическая высота для ячеек таблицы с изображениями с асинхронной загрузкой
  • Невозможно использовать ограничения автозапуска в представлении таблицы
  • Как узнать ширину UITableViewCell при использовании автоматического макета?
  • Применение ограничений autoLayout для нескольких объектов
  • Почему могут быть ограничения Autolayout не появляться во время выполнения?
  • Высота автовыброса изменяется, когда я нажимаю новый контроллер вида
  • UITableCell с автоматической компоновкой настроил многострочный UILabel, усеченный
  • что NSLayoutConstraint «UIView-Encapsulated-Layout-Height» и как мне заставить заставить его пересчитывать чисто
  • Отступ во всех ограничениях автоматической компоновки в UITableViewCell
  • Как сделать динамическую динамику UITableView с функцией автозапуска?
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.