Como posso criar o UIStackView com espaçamento variável entre as visualizações?

Eu tenho uma horizontal simplesUIStackView com vários UIViews empilhados dentro. Meu objetivo é criar espaçamento variável entre as visualizações. Estou ciente de que posso criar espaço constante entre as subvisões usando a propriedade "espaçamento". No entanto, meu objetivo é criar espaço variável. Observe que, se possível, eu gostaria de evitar o uso de vistas invisíveis que atuam como espaçadores.

O melhor que eu inventei foi embrulhar meuUIViews em separadoUIStackView, E uselayoutMarginsRelativeArrangement = YES respeitar as margens do layout da minha pilha interna. Eu esperava poder fazer algo semelhante com qualquerUIView sem recorrer a essa solução feia. Aqui está o meu código de exemplo:

// Create stack view
UIStackView *stackView = [[UIStackView alloc] init];
stackView.translatesAutoresizingMaskIntoConstraints = NO;
stackView.axis = UILayoutConstraintAxisHorizontal;
stackView.alignment = UIStackViewAlignmentCenter;
stackView.layoutMarginsRelativeArrangement = YES;

// Create subview
UIView *view1 = [[UIView alloc] init];
view1.translatesAutoresizingMaskIntoConstraints = NO;
// ... Add Auto Layout constraints for height / width
// ...
// I was hoping the layoutMargins would be respected, but they are not
view1.layoutMargins = UIEdgeInsetsMake(0, 25, 0, 0);

// ... Create more subviews
// UIView view2 = [[UIView alloc] init];
// ...

// Stack the subviews
[stackView addArrangedSubview:view1];
[stackView addArrangedSubview:view2];

O resultado é uma pilha com vistas próximas uma da outra com espaçamento:

questionAnswers(4)

yourAnswerToTheQuestion