Как я могу создать UIStackView с переменным интервалом между представлениями?

У меня простая горизонтальнаяUIStackView с несколькими UIViews сложены внутри. Моя цель - создать переменный интервал между представлениями. Мне хорошо известно, что я могу создать постоянное пространство между подпредставлениями, используя свойство "spacing". Однако моя цель - создать переменное пространство. Пожалуйста, обратите внимание, если это вообще возможно, я хотел бы избежать использования невидимых представлений, которые действуют как разделители.

Лучшее, что я придумал, - это обернутьUIViews в отдельномUIStackViewи использоватьlayoutMarginsRelativeArrangement = YES уважать поля макета моего внутреннего стека. Я надеялся, что смогу сделать что-то подобное с любымUIView не прибегая к этому уродливому обходному пути. Вот мой пример кода:

// 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];

В результате получается стек с представлениями рядом друг с другом с интервалом:

Ответы на вопрос(1)

Ваш ответ на вопрос