我尝试将两个属性应用于字符串,一个用于字距调整(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。请告诉我,我做错了什么。
答案 0 :(得分:1)
我刚在Playground尝试了你的代码,它运行正常。您很可能在设置text
后设置了标签的attributedText
属性。这将使用其属性将字符串恢复为普通标签字符串,或者可能出于某种奇怪的原因保留kern属性。
以下是我的代码:
并在添加
之后label.text = "RUN AT"