@snitron
Учуcь программировать на Android, IOS и Unity.

Как центрировать текст по вертикали в UILabel?

У меня есть UILabel, размер текста которого автоматически подбирается с учётом доступной ширины:
label.adjustsFontForContentSizeCategory = true
label.adjustsFontSizeToFitWidth = true


На Layout этот UILabel имеет 4 constraint'a:
Центр по X и Y; отступы слева и справа.

Если вводить короткий текст, то текст в UILabel находится посередине (x = y):
5d2e3847999b1176675895.png

Если ввести длинный, то текст "уходит вниз" (размер шрифта автоматически уменьшается, расстояние от верхней границы UILabel до текста увеличивается). При этом, высота самого UILabel не меняется.
5d2e38d2c4c46237501380.png

Как всё-таки центрировать текст по вертикали?
  • Вопрос задан
  • 384 просмотра
Решения вопроса 1
briahas
@briahas
ObjC, Swift, Python
Как я вижу - тут нет четких правил" как поступить в какой ситуации"
На пример - почему надо переносить текст на вторую строку, а не уменьшать шрифт чтобы весь текст вместился?

Если у вас есть в голове четко прописанная логика того как должен выглядеть текст в различных кейсах - то лучше опишите его в логике и выключите автоподгонку. Потому что вы не знаете какими правилами она пользуется.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SnapSh0t
@SnapSh0t
iOS-Developer
Не понял вопроса, но при заданных констрэинтах ваш текст всегда будет по центру, в независимости от его наполнения

5d47a747b231c032785201.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы