Выровненный по правому краю текст объектов UILabel слегка выкл - PullRequest
1 голос
/ 14 июля 2011

У меня небольшая проблема с объектами UILabel. В Xcode 4.0.2 я использую Interface Builder для построения представления с некоторыми выровненными по правому краю метками, расположенными вертикально. Все метки идентичны, за исключением их тега и координат Y их рамки.

Если текст в метках одинаковой длины, права текста выстроены в ряд. Однако, если длина текста отличается, права на более длинный текст будут слегка отключены. Это происходит как в том случае, если я изменяю свойство текста в IB и наблюдаю за ним на поверхности конструктора, так и в том случае, если я запускаю приложение в симуляторе или на устройстве и имею разную длину текста в метках. Чтобы более четко это заметить, я изменил цвет фона нескольких надписей, и он сразу виден, как только длина текста будет другой.

Я пытался изменить многие свойства ярлыков, чтобы они были одинаковыми, я увеличил размер ярлыков, но, похоже, ничто не влияет на это. Ширина метки намного больше, чем текст, который я пытаюсь разместить внутри.

Вот пример того, о чем я говорю. В IB вот как выглядит вид со всеми метками, имеющими одинаковую длину текста:

enter image description here

И вот как это выглядит, если я изменю текст первой метки на 00.00:

enter image description here

Есть идеи, что может быть причиной этого?

1 Ответ

0 голосов
/ 14 июля 2011

Я полагаю, что причина в том, что первый символ в слове имеет свою позицию x, выровненную по целым координатам, но последующие символы используют позицию дробного x (чтобы обеспечить равномерный кернинг). Добавив дополнительный ноль в первую строку, вы изменили место начала слова, поэтому последний ноль в вашей строке находится в несколько иной дробной позиции, чем остальные нули.

Честно, я бы об этом не беспокоился. Это очень тонкая разница сглаживания.

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