使用系统字体(UIFont到字体名称)创建SKLabelNode

时间:2018-07-09 02:59:52

标签: ios swift xcode sprite-kit uikit

我正在尝试创建一个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应用程序内部使用系统字体?如果这是不可能的,那么什么字体足够适合我使用呢?

2 个答案:

答案 0 :(得分:0)

如果您要使用粗体字体,可以按照以下方式进行操作:

  

SKLabelNode(字体名称:UIFont.boldSystemFont(ofSize:16).fontName)

答案 1 :(得分:0)

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

示例:

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

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