旧金山字体+ SpriteKit

时间:2015-09-30 06:21:40

标签: ios fonts sprite-kit

目前是否可以在SpriteKit SKLabelNode中使用iOS 9的新旧金山字体? Apple明确要求我们不要按名称实例化字体,但这是SKLabelNode提供选择字体的唯一方式。

2 个答案:

答案 0 :(得分:1)

通过fontName的属性UIFont获取系统字体名称:

let myLabel = SKLabelNode(fontNamed:UIFont.systemFontOfSize(45.0).fontName)

打印字体名称的结果:

.SFUIDisplay-Regular

修改

WWDC 2015 Video: Introducing the New System Fonts而言,PDF的第298页说不按名称访问系统字体,例如

let myFont = UIFont.systemFontOfSize(mySize)
// …later in the code…
let myOtherFont = UIFont.fontWithName(myFont.familyName size:mySize)

更好的做法(第299页)是重复使用字体描述符,例如

let systemFont = UIFont.systemFontOfSize(mySize)
// …later in the code…
let myOtherFont = UIFont.fontWithDescriptor(systemFont.fontDescriptor()
 size:mySize)

请注意,代码描述了访问之前定义的字体(myFont)所需的情况。为了保持应用程序中字体的一致性,您最好使用已定义的fontDescriptor,而不是在不设置其属性的情况下访问完整的 new 字体。不要混淆。

答案 1 :(得分:0)

这对我来说效果很好(在 iOS 14.5 中):

ERROR: Cannot install arches==5.0, arches==5.1.0, arches==5.1.1, arches==5.1.2, arches==5.1.3 and arches==5.1.4 because these package versions have conflicting dependencies.

The conflict is caused by:
    arches 5.1.4 depends on psycopg2-binary==2.8.4
    arches 5.1.3 depends on psycopg2-binary==2.8.4
    arches 5.1.2 depends on psycopg2-binary==2.8.4
    arches 5.1.1 depends on psycopg2-binary==2.8.4
    arches 5.1.0 depends on psycopg2-binary==2.8.4
    arches 5.0 depends on psycopg2-binary==2.8.4

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
WARNING: You are using pip version 21.1.3; however, version 21.2.2 is available.
You should consider upgrading via the 'c:\users\user\appdata\local\programs\python\python39\python.exe -m pip install --upgrade pip' command.

请注意,您还可以从所有不同系统字体的粗细中进行选择。