SpriteKit场景编辑器中SKLabelNode字体不显示问题求助
Xcode SpriteKit场景编辑器SKLabelNode自定义字体不显示解决方法
你遇到的问题是:SKLabelNode在Attributes Inspector中显示「No Font」,且字体选择列表里找不到已添加的自定义字体,已确认字体加入Copy Bundle Resources、Info.plist的UIAppFonts已配置。
可以按以下步骤排查解决:
- 核对字体内部名称:字体文件名和其实际内部名称可能不同。用Font Book打开字体,查看顶部显示的正式名称(比如文件名是
MyFont.ttf,内部名称可能是MyFont-Bold),Info.plist的UIAppFonts必须填写这个内部名称,而非文件名。 - 清理项目缓存:
- 关闭Xcode
- 删除Derived Data文件夹(路径:
~/Library/Developer/Xcode/DerivedData) - 重新打开项目,按下
Cmd+Shift+K清理Build Folder
- 手动输入字体名称:如果列表里找不到,直接在Attributes Inspector的字体输入框手动输入字体的内部名称,验证是否能识别。
- 代码验证字体是否加载:运行App后,通过代码打印所有可用字体,确认目标字体是否存在:
for familyName in UIFont.familyNames { print("字体家族:\(familyName)") for fontName in UIFont.fontNames(forFamilyName: familyName) { print(" 字体名称:\(fontName)") } } - 检查Target Membership:确保字体文件的右侧面板中,Target Membership勾选了当前项目的主Target,仅加入Copy Bundle Resources可能不够。
SpriteKit场景编辑器存在缓存延迟,完成上述操作后重启Xcode再尝试选择字体。
内容的提问来源于stack exchange,提问作者kelin
相关产品推荐
相关产品推荐

