以编程方式使 SKLabelNode 在 swift 中变为粗体

Programmatically Make a SKLabelNode Bold in swift

如标题所述 - 我想以编程方式使我的 SKLabelNode 加粗。

我该怎么做?

使用 UILabel

的字体 属性
label.font = UIFont(name:"HelveticaNeue-Bold", size: 16.0)

或使用系统默认字体加粗文本

lable.font = UIFont.boldSystemFontOfSize(16.0)

您不能将 SKLabelNode 本身设置为粗体。你必须使用粗体。

但是如果您想使用自定义字体,则必须使用粗体字体:

skLabel.fontName = "YourFontName-Bold"
skLabel.fontSize = 14

要获取 iOS 上可用的所有字体,请查看此站点:http://iosfonts.com/

对于 SKLabelNode,您需要使用:

var labelNode = SKLabelNode()
labelNode = SKLabelNode(fontNamed: "AvenirNext-Bold")

var labelNode = SKLabelNode()
labelNode.fontName = "AvenirNext-Bold"

这里是 SKLabelNode 的一个小扩展。允许您在粗体和非粗体之间切换。 Return 值表示当前是否设置为粗体。

extension SKLabelNode
{
    func toggleBold() -> Bool
    {
        if var range = self.fontName.rangeOfString("-Bold")
        {
            self.fontName = self.fontName.substringToIndex(range.startIndex)
            return false
        }
        else
        {
            self.fontName = self.fontName + "-Bold"
            return true
        }
    }
}