UIStackView как flexbox с выравниванием по центру - PullRequest
0 голосов
/ 20 февраля 2019

Я пытался центрировать некоторые кнопки в горизонтальном UIStackView enter image description here

Но не имеет значения, что я делаю, единственная неразбитая раскладка, которую я могу получить, этов основном: enter image description here

Я добавил ограничения, чтобы программно фиксировать ширину кнопки, так как количество кнопок является переменным, но не могу найти способ исправить расстояние между ними.

Это настройки вида стека:

enter image description here

Я перепробовал все варианты распространения!

1 Ответ

0 голосов
/ 20 февраля 2019

Макет на верхнем изображении может быть получен следующим образом:

  1. Добавить вид в стеке со свойствами по умолчанию (horizontal ось, fill распределение).Добавьте дополнительный интервал, как хотите.
  2. Ограничьте представление стека по вертикали в его суперпредставлении.
  3. Либо не ограничивайте его горизонтально своим суперпредставлением, либо, если хотите, ограничивайте его, используя неравенство (left> = superview.left, right <= superview.right). </li>
  4. Сосредоточьте представление стека горизонтально в пределах его суперпредставления.
  5. Добавьте ваши подпредставления.Убедитесь, что они знают, как самим определять размер (либо на основе собственного содержимого, либо с фиксированной шириной).

Ключом являются ограничения на UIStackView в 3 и 4. Вы горизонтально закрепляетеэто к его суперпредставлению, поэтому он должен выяснить, как заполнить все пространство.Вместо этого отцентрируйте его горизонтально и позвольте стековому виду занимать столько места, сколько ему нужно.

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