SwiftUI自定义字体未按设置生效问题排查与解决
SwiftUI自定义字体不显示的解决步骤
确认字体的实际内部名称
很多字体的内部名称和文件名不一致,这是最常见的问题。你可以通过两种方式查看:- 用Mac自带的「字体册」打开你的
SOV_Assadong_C.tff文件,顶部显示的名称就是实际可用的字体名(比如可能是SOV Assadong C,而非文件名的下划线版本)。 - 在App的初始化代码里打印所有可用字体,找到对应名称:
运行App后查看控制台输出,找到你的字体对应的准确名称,替换@main struct YourApp: App { init() { UIFont.familyNames.sorted().forEach { familyName in let fontNames = UIFont.fontNames(forFamilyName: familyName) print("字体家族:\(familyName),包含字体:\(fontNames)") } } var body: some Scene { WindowGroup { ContentView() } } }.custom()里的字符串。
- 用Mac自带的「字体册」打开你的
检查字体文件的导入配置
- 选中
SOV_Assadong_C.tff文件,打开右侧的「文件检查器」,确认「目标成员资格」勾选了你的主App目标。 - 核对
Info.plist:确保Fonts provided by application(或键名UIAppFonts)的数组中,添加的是完整的文件名(包括.tff后缀,注意是tff还是ttf,别写错后缀)。
- 选中
清理缓存并重新运行
- 执行Xcode菜单「Product」→「Clean Build Folder」(快捷键Cmd+Shift+K)清理构建缓存。
- 卸载模拟器/真机上的App,然后重新编译运行。必要时可以重启Xcode和设备,避免缓存残留。
代码写法核对
确保.font(.custom("准确字体名称", size: 70))中的名称和你查到的完全一致,大小写、空格、符号都不能出错。
内容的提问来源于stack exchange,提问作者kkk
相关产品推荐
相关产品推荐

