【问题标题】:Creating a SKLabelNode with system font (UIFont to font name)使用系统字体创建 SKLabelNode(UIFont 为字体名称)
【发布时间】:2018-07-09 02:59:52
【问题描述】:

我正在尝试创建一个 Apple Watch SpriteKit 应用程序,其中包含大量 SKLabelNodes,并且我正在尝试尽可能匹配默认 watchOS,同时在我的字体中使用粗体、常规和轻量级。

问题是,虽然我可以得到我需要的 UIFont,但我无法将其转换为 SKLabelNode 的字体。

这里有一些尝试。它们都不起作用,因为找不到字体或由于类型不匹配而无法编译:

SKLabelNode(fontNamed: UIFont.systemFont(ofSize: 99, weight: UIFont.Weight.bold))
SKLabelNode(fontNamed: UIFont.systemFont(ofSize: 99, weight: UIFont.Weight.bold).familyName)
SKLabelNode(fontNamed: UIFont.systemFont(ofSize: 99, weight: UIFont.Weight.bold).description)
SKLabelNode(fontNamed: UIFont.systemFont(ofSize: 99, weight: UIFont.Weight.bold).fontDescriptor)

如何在 SpriteKit 应用程序中使用系统字体?如果这是不可能的,那么与我使用的系统字体足够接近的好字体是什么?

【问题讨论】:

  • 你为什么不试试.fontName

标签: ios swift xcode sprite-kit uikit


【解决方案1】:

如果你想要粗体,你可以这样做:

SKLabelNode(fontNamed: UIFont.boldSystemFont(ofSize: 16).fontName)

【讨论】:

    【解决方案2】:

    您需要使用 .fontName 属性并使用所需的权重调用字体名称。

    例子:

    let exampleOfText = SKLabelNode (text: "here is your text")
      exampleOfText.fontSize = 50.0
      exampleOfText.fontName = "SFPro-Black" //font weight
    

    注意:使用字体手册来帮助您! :)

    【讨论】:

      猜你喜欢
      • 2012-06-20
      • 1970-01-01
      • 2014-04-05
      • 2018-08-01
      • 2015-10-24
      • 2016-04-20
      • 2011-05-07
      • 2016-07-27
      相关资源
      最近更新 更多