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

iOS启动页(Splash Screen)Label自定义字体运行时不生效问题咨询

iOS启动页自定义字体运行不生效的解决方法

这种情况我碰到过好多次,大多是字体配置环节漏了步骤或者踩了「文件名≠字体内部名称」的坑,按下面的步骤一步步排查肯定能搞定:

1. 先确认字体文件的项目配置是否完整

  • 检查字体是否被添加到目标的资源拷贝列表:
    打开项目的Build Phases → Copy Bundle Resources,看看peach-sundress.ttf是不是在列表里。如果没有,点击+号把它加进去——只把字体拖进项目文件夹是不够的,必须确保它会被打包到APP里。
  • 检查Info.plist的字体声明:
    在Info.plist里添加Fonts provided by application(或者直接用键名UIAppFonts)数组项,把peach-sundress.ttf作为数组元素加进去。这里要注意大小写完全匹配,iOS对文件名大小写是敏感的,多一个少一个字母都不行。

2. 找到字体的「内部名称」(最容易踩坑的点!)

很多人直接用文件名设置字体,但字体的内部显示名称和文件名经常不一样!比如peach-sundress.ttf的内部名称可能是PeachSundress或者Peach-Sundress-Regular,这才是iOS识别的正确名称。

怎么获取?写一段简单的代码打印所有可用字体:

// 在AppDelegate或者ViewController的viewDidLoad里加这段代码
override func viewDidLoad() {
    super.viewDidLoad()
    // 打印所有字体家族和字体名称
    for familyName in UIFont.familyNames {
        print("字体家族:\(familyName)")
        for fontName in UIFont.fontNames(forFamilyName: familyName) {
            print("  字体名称:\(fontName)")
        }
    }
}

运行项目后,在控制台搜索peach相关的结果,找到对应的字体内部名称,比如假设是PeachSundress-Regular,这才是你要用来设置的名称。

3. 针对启动页(Launch Screen)的设置调整

如果你的启动页是用Launch Screen.storyboard做的:

  • 选中Label,在Attributes Inspector里的Font选项,选择「Custom」,然后输入刚才找到的字体内部名称,而不是文件名。
  • 如果你是用代码设置启动页Label的字体(比如自定义Launch Screen控制器),要确保代码里用的是内部名称:
    label.font = UIFont(name: "PeachSundress-Regular", size: 24)
    

4. 最后做个清理验证

  • 清理项目缓存:按Command+Shift+K清理项目,再按Command+Option+Shift+K清理构建文件夹。
  • 重启模拟器/设备,然后重新运行项目——有时候缓存会导致字体不加载。
  • 检查字体文件是否损坏:把peach-sundress.ttf拖进Mac的「字体册」里,如果能正常显示字体预览,说明文件没问题;如果打不开,换一个完好的字体文件试试。

内容的提问来源于stack exchange,提问作者Gaurang Chokhariya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:31:05