SKLabelNode与Helvetica产生滞后

时间:2015-04-21 18:25:10

标签: ios swift fonts sprite-kit sklabelnode

我花了将近3天的时间才发现我的问题是我将标签字体设置为Helvetica。每次我想要更改它时,文本都会滞后。所以我的问题是什么问题Helvetica和SKLabel节点。当我把它设置出来时,我认为它是Helvetica Neue。

1 个答案:

答案 0 :(得分:3)

字体本身没有问题,但SKLabelNode如何处理字体用法。问题是,SKLabelNode每次访问时都会检查/加载字体。要阻止Swift这样做,你应该在开始时创建字体:

let theFont = UIFont(name: "Helvetica", size: 17)

//Access the font like that in your label
theFont?.fontName

这里的技巧是,Swift有一个对你的字体的引用,并且不必每次都加载新的字体。因为目前Swift每次都会检查字体。

如果您还没有尝试,可以尝试的其他内容是预加载字体:

var yourLabel = SKLabelNode(fontNamed: "Helvetica Neue")