Почему ограничения предпочитают изменение размера одного стека перед другим и как изменить это предпочтение? (xCode) - PullRequest
1 голос
/ 26 мая 2020

Я пытаюсь использовать ограничения в xCode для целей автоматического макета, но столкнулся с проблемой. Здесь показан текущий макет приложения: Текущий макет . У меня есть две стопки, одна сверху и одна снизу. Я ограничил положение верхней стопки приклеиванием к верхней, левой и правой безопасным областям, а нижний стопку - к нижней, левой и правой безопасным областям. Теперь я хочу ограничить верхний стек, чтобы он был равен некоторому небольшому интервалу над нижним стеком, с растягиванием только Top Stack , если это необходимо, с Bottom Stack , оставаясь полностью неподвижным. Вместо этого я получаю противоположное: Нижний стек устремляется вверх, чтобы встретить Верхний стек . Как xCode решил растянуть нижний стек, но не верхний, и как это исправить?

Вот гифка, показывающая мою проблему. Обратите внимание, что я установил нижний стек для распределения внизу, поэтому он изначально не выглядел растянутым, но как только я переключусь снизу на заполнение, вы быстро увидите проблему: Constraint Problem Gif .

Спасибо.

1 Ответ

1 голос
/ 27 мая 2020

Аспект автоматического размещения, который вы ищете, - это как contentHuggingPriority, так и contentCompressionResistancePriority. Они определяют, какие представления с большей вероятностью будут растягиваться или сжиматься.

Увеличьте значение вертикального contentHuggingPriority нижнего стека до большего, чем у верхнего стека, тогда система автоматического раскладки заставит верхний стек растягиваться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...