Проблема в том, что ваши ограничения недостаточны.
Метка, которая не находится под автоматическим макетом, просто сидит там, инертна;во время макета его размер равен размеру, указанному вами в раскадровке.
Но как только вы добавляете к нему ограничение, метка попадает в режим автоматического макета.Это меняет все.Ярлык под автоматическим макетом имеет размер с самообладанием : он автоматически адаптируется к размеру содержимого.Он автоматически адаптируется к необходимой высоте, но только если его ширина фиксирована (чтобы он знал, когда обернуть).Вы не задали никаких ограничений width для этой метки, а также не указали preferredMaxLayoutWidth
, поэтому механизм автоматического размещения не знает, как это сделать.
Итак, чтобы решить эту проблему, добавьте ограничение ширины к вашей метке или присвойте ей preferredMaxLayoutWidth
.Или, если вы знаете оба измерения, задайте для него ограничение ширины и высоты.(И убедитесь, что значение numberOfLines
было изменено на 0
; по умолчанию установлено значение 1
, которое содержит только одну строку.)