UILabel со специальным шрифтом отображается неправильно

В моем приложении для iPhone я установил пользовательский шрифт для всех UILabels (, чтобы быть более точным, я создал подкласс UILabel, переопределив метод, установив пользовательский шрифт в этом методе, а затем установив все ярлыки в IB к этому пользовательскому классу). Теперь проблема в том, что все тексты отображаются намного ниже ожидаемого базового уровня, поэтому такие буквы, как «y» и «g», обрезаются ниже. Я читал о подобных проблемах здесь:

Вертикальное выравнивание пользовательского шрифта UIButton

Пользовательский установленный шрифт неправильно отображается в UILabel

Затем я попытался возиться с зажимом, как описано в этих решениях (он был установлен на 990 первоначально). Установка его на уровне около 500 привела к хорошим результатам, но вскоре после этого я заметил, что строки в многострочном тексте смешиваются друг с другом, что, конечно, недопустимо. В UITextViews шрифт, кажется, хорошо отображается с исходной базовой линией.

Есть ли практический способ решить эту проблему? Конечно, я мог бы оставить несколько шрифтов с разными надстрочными элементами для многострочного-или однострочного-строчного текста, но это довольно запутанное решение..

PS:Шрифт предоставляется в формате otf, хотя я пытался преобразовать его в ttf, что привело к тем же результатам.

6
задан Community 23 May 2017 в 10:26
поделиться