Проблема:
UILabel
может обрезать курсивные (наклонные) символы и даже скрипты на левом и правом краях. На следующем снимке экрана отображается проблема. На левом краю сжимается символ "j" ; на правом краю, подрезка 'l' обрезается. Я понимаю, что это тонко, и не все заботятся (однако проблема ухудшается при больших размерах шрифтов).
Здесь менее тонкий пример с использованием Zapfino, размер 22. Обратите внимание, что "j" в jupiter выглядит почти как "i":
В приведенных выше примерах цвет фона ярлыка оранжевый, текст выравнивается по левому краю, а этикетка сохраняет свой собственный размер содержимого.
Это поведение по умолчанию для UILabel
по умолчанию, и оно было таким образом для нескольких версий iOS (поэтому я не ожидал исправления от Apple).
Что я пробовал:
Установка свойства label clipsToBounds
на NO
не устраняет проблему. Я также знаю, что я могу установить ограничение на фиксированную ширину на ярлыке, чтобы придать тексту больше места на заднем фронте. Однако ограничение фиксированной ширины не дало бы "j" в приведенном выше примере больше места.
Я собираюсь ответить на свой вопрос, используя решение, которое использует автоматический макет и метку alignmentRectInsets
.