#swift #xcode #view #uikit
Вопрос:
У меня Vertical Stack View
на экране есть ( Alignment = Fill, Distribution = Fill
).
В нем есть сверху донизу:
Label
(никаких ограничений)Vertical Stack View
(height=21
)Horizontal Slider
(height=21
)Label
(никаких ограничений)
Я ожидал, что обе мои метки (элементы 1 и 4) будут одинакового размера и будут занимать большую часть экрана, а 2-й и 4-й элементы, следовательно, будут находиться в центре экрана. Но на самом деле высоты моей нижней метки достаточно только для заполнения текста, в то время как моя верхняя метка занимает большую часть пространства.
Я попытался изменить Distribution
вид стека на Fill Proportionally
, но в этом случае моя верхняя метка становится меньше нижней.
Почему это происходит? Как я могу сделать так, чтобы мои ярлыки были одинаковой высоты?
PS Я заметил предупреждение о неоднозначности приоритета контента, но я не могу понять, что мне с этим делать
Комментарии:
1. Приоритет объятий-это действительно проблема.
2. @мэтт , я читал о приоритете объятий и сопротивлении сжатию, но есть проблема с другими ярлыками. Эти свойства моих меток «ТАЙМЕР РЕДАКТИРОВАНИЯ» и «ДРУГОЙ» одинаковы, поэтому я не могу понять, почему они имеют разные размеры.
3. Потому что они равны. Без дополнительной информации представление стека не знает, какое представление растягивать. Так что он просто выбирает одного.
Ответ №1:
Чтобы сделать обе метки равными по высоте, мне пришлось выбрать их обе и добавить ограничение равной высоты.
Предупреждение о неоднозначности приоритета контента касалось не их, а горизонтальных меток. Чтобы удалить предупреждение при сохранении их размещения, я изменил распределение горизонтального вида стека на Равное центрирование.