You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI自定义字体未按设置生效问题排查与解决

SwiftUI自定义字体不显示的解决步骤
  • 确认字体的实际内部名称
    很多字体的内部名称和文件名不一致,这是最常见的问题。你可以通过两种方式查看:

    1. 用Mac自带的「字体册」打开你的SOV_Assadong_C.tff文件,顶部显示的名称就是实际可用的字体名(比如可能是SOV Assadong C,而非文件名的下划线版本)。
    2. 在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()
              }
          }
      }
      
      运行App后查看控制台输出,找到你的字体对应的准确名称,替换.custom()里的字符串。
  • 检查字体文件的导入配置

    • 选中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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 10:45:28