Приоритет ограничений автоопределения

У меня есть 2 UILabel labelA и labelB и ширина 320 px. Я создал ограничения

H:|-[labelA]-(>=4)-[labelB]-|

К сожалению, labelA и labelB могут когда-то быть большими и не укладываться без усечения. Я хотел бы убедиться, что независимо от того, labelB не будет усечен. (labelB не будет превышать 160 пикселей). Тем не менее, я хотел бы как можно больше использовать доступное пространство для ярлыка, так что фиксация меткиB до половины - это просто пустая трата пространства.

Вопрос: Как поставить приоритет таким образом, чтобы labelB всегда сохранял свой собственный размер? Где как labelA может быть усечено.

Ответ 1

Вы устанавливаете сопротивление сжатию содержимого на ярлык B:

[labelB setContentCompressionResistancePriority: UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];

Это означает, что B будет пытаться не сжиматься под внутренним размером, заданным текстом. Чтобы сделать его также как можно меньшим, вы также можете установить contentHuggingPriority - это заставит его попытаться соответствовать размеру текста.