2016-10-30 8 views
-1

У меня проблема с UILabel в Swift. Проблема возникает, когда текст часто изменяется (например, отсчет времени) на этикетке.UILabel выравнивание правого номера

С выравниванием все работает отлично. Но мне нужно выравнивание справа.

И в этом режиме текст переходит влево и вправо при изменении. Этот скачок составляет около 1 пикселя.

Может быть, кто-нибудь знает, как решить эту проблему?

+2

Поделитесь некоторыми скриншотами проблемы, с которой вы сталкиваетесь. Вербально невозможно визуализировать вещи. – Adeel

+2

Отправьте код для создания и обновления метки. –

+0

пусть elapsedTimeInSecondsLabel: UILabel = { пусть этикетка = UILabel() label.font = label.font.withSize (12) label.textAlignment = .right возврата этикетки }() Текст: 20:20 20 : 21 20:22. Во время изменения текста textAlignment = .right, текст становится 1 пикселем влево или вправо. –

ответ

-1

на основе коды в вашем комментарии:

label.font = label.font.withSize(12) 

Вы используете стандартную систему IOS шрифт, который не является моноширинным, и, следовательно, будет вызывать Разнос вопросы, когда текст изменения. Если вы используете моноширинный шрифт (Courier, Menlo и т. Д.), Этот вопрос исчезнет.

В качестве альтернативы вы можете сами обработать чертеж текста или отрегулировать кернинг шрифта.

+0

Он работает, спасибо. –