Установка пространства между некоторыми элементами в представлении стека

В Interface Builder я использую горизонтальный UIStackView и хочу разместить элементы следующим образом:

   xx   xx   xx

каждый символ x обозначает элемент. Item1 и item2 должны застревать друг к другу, но item2 и item3 должны располагаться на расстоянии и так далее. Это означает, что я не хочу постоянного расстояния между всеми элементами.

Как я могу это сделать?
(возможно, эквивалент гибкого пространства панелей инструментов)

Спасибо!

Ответы

Ответ 1

Внутри вашего горизонтального стека есть еще три горизонтальных стека, чтобы вы могли контролировать интервалы и распределение для каждого элемента. Смотрите скриншот ниже:

enter image description here

Ответ 2

Это ответ, основанный на ответе Lumialxk. Выберите вид стека, над которым хотите работать, и измените свойство интервала на нужное значение.

Снимок экрана панели свойств

Ответ 3

iOS 11 и выше

stackView.setCustomSpacing(32.0, after: headerLabel)

Для получения дополнительной информации: Stack View Custom Spacing

Ответ 4

Программно для каждого вида:

stackView.spacing = 10.0

Если вы хотите сделать пользовательский интервал после каждого просмотра, и вам нужно поддерживать ниже, чем iOS11:

Создайте чистый UIView с высотой и добавьте его как addArrangedSubview в stackView.

Ответ 5

В представлении стека вы можете определять только постоянное пространство между элементами. Легко делать такие вещи, просто выберите представление стека в контуре и задайте значение пробела.

Ответ 6

Swift 4: если вы хотите, например, установить пробел после первого подпредставления:

stackView.setCustomSpacing(30.0, after: stackView.subviews[0])