UIStackview поддерживает правильное выравнивание подвидов, даже если другой вид скрыт - PullRequest
0 голосов
/ 09 января 2020

У меня горизонтальный UIStackview (ширина = высота экрана = 40) с 2 кнопками. Я установил ширину и высоту обеих кнопок на 40. UIStackview Alignment - Fill, а Distribution - равный интервал.

Теперь первая кнопка находится на передней стороне стека, а вторая кнопка на задней стороне стека, что мне подходит. .

Когда я скрываю кнопку 2, кнопка 1 переходит в середину стека, чего я не хочу. Как это сделать?

1 Ответ

1 голос
/ 09 января 2020

По замыслу скрытые упорядоченные подпредставления не только скрыты, но и больше не влияют на макет. Это важная функция, которую невозможно реализовать с помощью автоматического макета.

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

Другой обходной путь

Вместо того, чтобы скрывать подпредставление, вы можете просто повернуть его альфа на 0 Таким образом, подпредставление не будет видно, но оно будет участвовать в макете.

...