字体属性(NSFontAttributeName)未应用于属性字符串

时间:2014-12-04 22:15:15

标签: ios swift nsattributedstring

我尝试将两个属性应用于字符串,一个用于字距调整(NSKernAttributeName),另一个用于字体(NSFontAttributeName)。虽然我已经检查并重新检查了1000次,但我只能将字符串属性应用于该字符串。这是我的设置:

    let runAtTitle = "RUN AT"
    var attRunAt = NSMutableAttributedString(string: runAtTitle)

    let font = UIFont(name: "HelveticaNeue-Bold", size: 76.0)!
    let attrs = [NSFontAttributeName: font, NSKernAttributeName: -3.0]
    attRunAt.addAttributes(attrs, range: NSMakeRange(0, attRunAt.length))

    runAtLabel.attributedText = attRunAt

当我构建应用程序时,字距调整应用于我的字符串,但字体不是。它使用默认的12pt Helvetica。请告诉我,我做错了什么。

1 个答案:

答案 0 :(得分:1)

我刚在Playground尝试了你的代码,它运行正常。您很可能在设置text后设置了标签的attributedText属性。这将使用其属性将字符串恢复为普通标签字符串,或者可能出于某种奇怪的原因保留kern属性。

以下是我的代码:

并在添加

之后
label.text = "RUN AT"