Хотя я пометил ответ DonMag как ответ на этот вопрос, я включаю свой собственный ответ, поскольку я создаю представления программно, поскольку это было мое окончательное решение.
Сначала создайте контейнер UISTackView для метки и изображения
this.drugNameStackView = new UIStackView()
{
TranslatesAutoresizingMaskIntoConstraints = false,
Axis = UILayoutConstraintAxis.Horizontal,
Alignment = UIStackViewAlignment.Top,
Distribution = UIStackViewDistribution.Fill,
Spacing = 0
};
Затем, уже создав UILabel, добавьте его в StackView и установите сопротивление сжатию
this.drugNameStackView.AddArrangedSubview(this.drugNameLabel);
this.drugNameLabel.SetContentCompressionResistancePriority(1000.0f, UILayoutConstraintAxis.Horizontal);
Ключевая часть решения и главное, что я узнал из ответа DonMag, где эти два ограничения я добавил в ContentView
this.ContentView.AddConstraints(
new[]
{
NSLayoutConstraint.Create(this.drugNameStackView, NSLayoutAttribute.Leading, NSLayoutRelation.Equal, this.ContentView, NSLayoutAttribute.LeadingMargin, 1.0f, 0),
NSLayoutConstraint.Create(this.ContentView, NSLayoutAttribute.TrailingMargin, NSLayoutRelation.GreaterThanOrEqual, this.drugNameStackView, NSLayoutAttribute.Trailing, 1.0f, 0),
});
Обратите внимание, что именно ContentView является первым элементом в ограничении, а UISTackView - вторым для ограничения NSLayoutRelation.GreaterThanOrEqual