Как по горизонтали выровнять два UILabel (с фиксированной и переменной шириной) - PullRequest
0 голосов
/ 17 июня 2020

У меня возникли проблемы с горизонтальным выравниванием двух UILabel и одного UIImageView следующим образом:

enter image description here

enter image description here

Первая метка имеет переменную ширину, может быть обрезана, если она длинная. Вторая метка имеет фиксированную ширину, она всегда должна быть выровнена справа от UIImageView. Он никогда не должен go за пределами экрана. UIImageView выравнивается по правому краю от первой метки.

Я пробовал встраивать их в горизонтальный UIStackView, но изображение + вторая метка всегда выравнивается по концу ячейки. Возникла та же проблема при попытке без UIStackView. Пожалуйста, помогите.

1 Ответ

1 голос
/ 17 июня 2020

Вы можете встроить метку и горизонтальный StackView в другое горизонтальное представление стека. Затем вам нужно будет установить для параметра Dynami c width Label Content Compression Resistance Priority (вы можете найти это свойство в нижней части инспектора размера), чтобы оно было меньше, чтобы оно уменьшалось.

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

truncated :abel non truncated label

Надеюсь, это достаточно ясно!

...