Что за безумная логика Autolayout? - PullRequest
0 голосов
/ 30 июня 2019

Я создаю новый контроллер вида.

Я добавляю к нему вертикальный стек. Интервал = 0, выравнивание = центр X, заполнить одинаково. Я ограничиваю его четырьмя краями его суперпредставления с пробелом = 0.

Я добавляю 3 горизонтальных стека внутри основного стека.

Для каждого из горизонтальных стеков: выравнивание = центр Y, одинаковое заполнение, интервал 0.

Я добавляю два пользовательских вида в каждый из этих 3 стеков.

Я ограничиваю ширину одного из этих стеков шириной основного стека.

Результат безумный.

enter image description here

Почему, во имя неба, результат не такой?

enter image description here

Ответы [ 2 ]

1 голос
/ 30 июня 2019

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

Результат:

result

0 голосов
/ 30 июня 2019

Я нашел решение: вы должны добавить ограничение в каждом из пользовательских представлений к Эквивалентной высоте его стекового представления.

...