【问题标题】:Programmatically Make a SKLabelNode Bold in swift以编程方式快速制作 SKLabelNode 粗体
【发布时间】:2015-03-26 04:26:09
【问题描述】:

正如标题所述 - 我想以编程方式创建我的 SKLabelNodebold。

我该怎么做?

【问题讨论】:

    标签: swift fonts sklabelnode


    【解决方案1】:

    使用 UILabel 的字体属性

    label.font = UIFont(name:"HelveticaNeue-Bold", size: 16.0)
    

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

    lable.font = UIFont.boldSystemFontOfSize(16.0)
    

    【讨论】:

    • 问题是关于SKLabelNode,而不是UILabel
    【解决方案2】:

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

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

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

    要获取 iOS 上可用的所有字体,请访问此网站:http://iosfonts.com/

    【讨论】:

    • 由于某种原因,.Font 无法识别 - SKLabelNode 没有名为 Font 的成员
    • 你必须用小写的'f'写.font。
    • 都试过了,但仍然不是会员(即使使用 .font)
    • 啊,我明白了。您正在使用 SKLabelnode。我以为你使用的是 UILabel。我已经更新了我的答案。
    • 你可以通过简单的打印得到字体名称:println(skLabel.fontName)。如果我的回答解决了您的问题,请点击我的回答左侧的勾号,以便其他人更容易找到。
    【解决方案3】:

    对于 SKLabelNode,您需要使用:

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

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

    【讨论】:

      【解决方案4】:

      这是 SKLabelNode 的一个小扩展。允许您在粗体和非粗体之间切换。返回值告诉它当前是否设置为粗体。

      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
              }
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-11
        • 2016-07-27
        • 2017-06-12
        • 1970-01-01
        相关资源
        最近更新 更多