2015-12-25 2 views
1

Я хочу создать многоразовый гибкий компонент в построителе интерфейса, состоящий из названия и субтитров (для простоты этого вопроса).Autolayout, гибкий контейнер - собственный размер содержимого контейнера

Обе эти метки имеют 8 pt ограничений слева и справа, ограничение на 8 pt (заголовок), 8 pt вертикальное расстояние между ними и ограничение на 8 pt bottom (субтитры).

Поскольку метки имеют горизонтальные ограничения и нулевые числа строк, я предполагаю, что они будут красиво расширяться вертикально, если будет применено больше текста, а из-за вертикального интервала они никогда не будут перекрываться.

К сожалению, я получаю двусмысленность приоритета контента, возможно потому, что высота контейнера уже определена в раскадровке - 66 (21 * две метки + 8 * 3 ограничения).

Что я хочу достичь, так это то, что если при условии, что для настройки текста или шрифта потребуется больше места, сам контейнер растет. Таким образом, высота контейнера не должна быть жестко привязана к 66, но динамическая, я понятия не имею, как установить ее в построителе интерфейса. Я, наверное, знаю, как это сделать в коде, но предпочитаю IB.

Прикрепление некоторые скриншоты:

interface builder 1

[interface builder 2

ответ

0

На самом деле, вы можете установить высоту лейбла с ограничением, то изменить ограничение на "> =" заменить "=".

enter image description here

Он хорошо работает, а высота минимальная высота этикетки.

enter image description here

+0

Отлично, это работает! – Chris

Смежные вопросы