Ограничения AutoLayout для UITableViewCell contentView не соблюдаются
Я пытаюсь создать динамически изменяющиеся размеры ячеек таблицы. Я выполнил изменение размера с помощью этого ответа, который является очень подробным и полезным.
Тем не менее, максимальная ширина для метки не рассчитывается правильно вheightForRowAtIndexPath
,
Моя ячейка в настоящее время имеет только один ярлыкcontentView
с ограничениями, установленными для закрепления всех краев надписи наcontentView
кромки. Вот что у меня в IB
Размер ячейки вычисляется с помощью ячейки вне экранаheightForRowAtIndexPath
с помощью
CGSize size = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
Во время этого процесса кажется, что он соблюдает ограничения, и label.preferredMaxLayoutWidth
свойство устанавливается равным 320, но когда метка действительно отображается, все еще есть заполнение.
1 ответ
Отступы - это поля макета. Вы должны остерегаться Constrain to margins
вариант.
Constrain to margins
включен:
Constrain to margins
выключен:
Как это отключить?
- Вы можете дважды щелкнуть по одному из ограничений и снять флажок
Relative to margin
опция:
- Снятие отметки
Constrain to margins
при создании ограничений метки:
Ссылка по теме:
Что такое "ограничить на полях" в раскадровке в Xcode 6