Добавление вертикального стека с помощью
stackView.alignment = .fill
stackView.distribution = .fillEqually
stackView.spacing = 2
Добавить ограничения сверху, снизу, сверху, снизу. Не добавляйте ограничение по высоте. Он будет рассчитан из подпредставлений.
Далее добавьте n горизонтальных стеков как упорядоченные подпредставления с помощью
stackView.alignment = .center
stackView.distribution = .fillProportionally
stavkView.spacing = 2
Теперь добавьте представление изображения и две метки в каждом горизонтальном стековом изображении.
Не добавляйте начальные, конечные, верхние, нижние ограничения к этим изображениям и меткам.
Добавить ограничение ширины и высоты для каждого вида изображения
Назначить равную ширину lbl1 и lbl2
lbl1.widthAnchor.constraint(equalTo: lbl2.widthAnchor).isActive = true
Изменить lbl2
textAlignemnt
на .right
lbl2.textAlignment = .right
Теперь вы получите это
OR
Вместо добавления равных с lbl1 и lbl2
установить приоритет объятия контента для lbl2
lbl2.setContentHuggingPriority(.defaultHigh, for: .horizontal)
Теперь ширина lbl2 будет уменьшаться, чтобы соответствовать его тексту. lbl1 примет оставшуюся ширину