рассчитать высоту UILabel - PullRequest
       0

рассчитать высоту UILabel

0 голосов
/ 17 апреля 2020

У меня есть 2 uiLabels, и каждый раунд текст внутри них меняется, и поэтому количество строк и высота - это поле uilabel. Я пытался получить высоту, используя uiLabel.frame.height. Но кажется, что он вычисляет только высоту блока, как если бы внутри была только одна строка (высота всегда одинакова, даже если она явно отличается, когда есть 4 или 2 строки.)

Что я скучаю?

Ответы [ 2 ]

0 голосов
/ 17 апреля 2020

Я полагаю, что вы просите высоту (с uiLabel.frame.height) слишком рано, когда вид не правильно выложен.

В какой функции вы запрашиваете высоту? В UIViewController вы должны использовать func viewDidLayoutSubviews() вместо таких функций, как viewDidLoad(). В подпредставлениях вы можете получить правильную высоту в func layoutSubviews().

. Кроме того, вы также можете попытаться вызвать sizeToFit () для вашего ярлыка после того, как он получит текст. (https://developer.apple.com/documentation/uikit/uiview/1622630-sizetofit)

0 голосов
/ 17 апреля 2020

В настройках UILABEL установите линии = 0, а в автоперемещении не создавайте константы, связанные с высотой. Метка будет корректироваться в соответствии с размером вашего текста.

Размер всегда возвращается как размер строки, потому что в настройках UILABEL атрибут lines равен 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...