У меня есть UILabel, размер текста которого автоматически подбирается с учётом доступной ширины:
label.adjustsFontForContentSizeCategory = true
label.adjustsFontSizeToFitWidth = true
На Layout этот UILabel имеет 4 constraint'a:
Центр по X и Y; отступы слева и справа.
Если вводить короткий текст, то текст в UILabel находится посередине (x = y):

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

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