UILabel的默认字距调整是什么(属性文本看起来有所不同)

时间:2019-07-08 01:48:21

标签: ios uikit uilabel nsattributedstring

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

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

enter image description here

我知道我可以对属性文本设置字距调整以调整其外观。我的问题是,我应该设置什么值使其看起来与Apple的默认值相同?我有办法“将字距调整值保留为默认值”吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

根据documentation的UILabel属性文本属性

  

要在标签上启用自动字距调整,请将字符串的字距设置为null。

默认情况下,纯文本的自动字距调整功能处于打开状态,而属性文本的默认设置处于关闭状态。以下是为属性文本属性重新启用自动字距调整的方法:

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