UILabel 的默认字距调整是多少(属性文本看起来不同)

What's the default kerning for UILabel (attributed text looks different)

我不确定我是否遗漏了一些明显的东西,但我环顾四周,找不到答案。

基本上,不管 this question 怎么说,UILabel 纯文本和属性文本看起来都不一样。例如,下面的两个标签都是系统字体 15pt,黑色的使用属性文本,灰色的使用纯文本。显然黑色的比灰色的宽

我知道我可以在属性文本上设置字距调整以调整其外观。我的问题是,我应该设置多少值才能使其看起来与 Apple 的默认值相同?有没有办法让我"leave the kerning value at the default"?

谢谢!

根据 documentation 为 UILabel 属性文本 属性

To turn on auto-kerning on the label, set kern of the string to null.

看起来 auto-kerning 对于纯文本默认是打开的,对于属性文本默认是关闭的。以下是为属性文本 属性 重新打开 auto-kerning 的方法:

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