Как кэшировать или предварительно загружать шрифт SKLabelNode в спрайтекит
Я хочу загрузить шрифт один раз и использовать его для других узлов sklabel
let originalLabel: SKLabelNode = SKLabelNode(fontNamed: "fontName");
и позже
var labelNode = originalLabel;
var labelNodeSecond = originalLabel;
но это дает следующую ошибку
Попытка добавить SKNode, у которого уже есть родитель: SKLabelNode
1 ответ
Решение
Вы можете установить шрифт один раз, инициализируя UIFont
:
let yourFont = UIFont(name: "yourfontName", size: 17)
var firstLabel = SKLabelNode(fontNamed: yourFont?.fontName)
var secondLabel = SKLabelNode(fontNamed: yourFont?.fontName)
Таким образом, вы устанавливаете шрифт только один раз, и узлы SKLabelNode не должны загружать его самостоятельно.