Autolayout заставляет UILabel изменять размер с нежелательным заполнением

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

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

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

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

Если я введу какой-то текст, для отображения которого требуется более одной строки, метка содержимого изменит размер и не будет мешать верхней метке, но добавит этот странный отступ к верхней и нижней части метки.

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

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

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

Есть ли способ исправить это, чтобы нижняя часть метки содержимого была выровнена с нижней частью изображения и изменяла размер без добавления этих отступов?


person Bones and Teeth    schedule 04.02.2015    source источник


Ответы (1)


Попробуйте реализовать свои ограничения программно, используя такую ​​библиотеку, как Masonry. У вас будет гораздо лучший контроль над элементами пользовательского интерфейса и лучшее понимание того, как работают ограничения.

person Matt    schedule 15.04.2015