У меня есть UIView в моей раскадровке. Значение Leading and Trailing равно 16, ширина элемента не фиксирована.
Я добавляю UILabels к этому UIView (-container), который будет двигаться до следующей «строки», когда новая и существующая UILabel превышает ширину контейнера. «Контейнерная ширина» (UIView.frame.size.width) составляет 382.
**// If current X + label width will be greater than container view width
// .. move to next row**
if (currentOriginX + labelHashtag.frame.width > containerWidth) {
currentOriginX = 0
currentOriginY += tagHeight + tagSpacingY
}
Отлично работает для iPhone XSM:
Но когда я запускаю свой код на iPhone 8, ширина контейнера по-прежнему составляет 382, и UILabels появляется на моем экране:
Почему размер моего UIView всегда одинаков? Почему не происходит автоматическое изменение размера при использовании ограничений в зависимости от устройства?