У меня проблема с UILabels
, которая содержит текст, который распространяется на несколько строк. Он вложен в полноэкранном режиме UIView
, который имеет autoresizing
маску, а также:UILabel с несколькими строками и автомасштабирующими масками (UIViewAutoresizingMask)
view.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
Я хотел бы добавить autoresizingMask на этикетке
label.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
Но проблема, это не работает, как я Мне нравится работать. Если я это сделаю, после поворота экрана (который изменяет размер представления) метка имеет меньшую высоту, а часть текста обрезается. (Он не отображает весь текст). Если я не добавлю UIViewAutoresizingFlexibleHeight
, тогда надпись после вращения имеет большие разрывы выше и под текстом (И я этого не хочу).
Я также попытался добавить UIViewAutoresizingFlexibleBottomMargin
, но это не поможет, так как пока не отображается весь текст.
EDIT: Я действительно не думаю, Маски автоматического изменения собирается решать эту проблему -> маски автоматического изменения размер вида в зависимости от изменения размера в надтаблицах. Вот почему высота не соответствует тексту. Единственное решение, о котором я мог подумать, - это перезагрузка кадра UILabel
после изменения размера супервизора. Если я ошибаюсь, я бы с радостью исправился.
спасибо за ваш вклад. К сожалению, этот код не работал для меня. Более того, я не знаю, сколько строк будет иметь текст -> если устройство находится в портретной ориентации, оно будет распространено на большее количество строк, потому что линии будут более узкими. Если устройство находится в ландшафтном режиме, линии длиннее, что требует меньше строк. – Lukas1