Какой кернинг по умолчанию для UILabel (приписанный текст выглядит иначе) - PullRequest
1 голос
/ 08 июля 2019

Я не уверен, что упускаю что-то очевидное, но я посмотрел на SO и не смог найти ответ.

В основном, несмотря на то, что этот вопрос говоритUILabel обычный текст и атрибутивный текст выглядит по-разному.Например, обе метки ниже - системный шрифт 15pt, причем черный использует атрибутивный текст, а серый - простой текст.Очевидно, что черный шире, чем серый.

enter image description here

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

Спасибо!

1 Ответ

2 голосов
/ 08 июля 2019

В соответствии с документацией для атрибута текста UILabel

Чтобы включить авто-кернинг для метки, установите для kern строки значение null.

Похоже, что авто-кернинг для простого текста включен по умолчанию, а для атрибутивного текста по умолчанию отключено. Вот как снова включить авто-кернинг для атрибута атрибута text:

        let label = UILabel()
        let attributes = [NSAttributedString.Key.kern: kCFNull!]
        label.attributedText = NSMutableAttributedString(string: "Text", attributes: attributes)
...