SwiftUI Xcode15中启动屏幕自定义字体无法在属性检查器显示
SwiftUI启动屏幕自定义字体不显示在属性检查器的解决方案
核心结论
SwiftUI默认的启动屏幕(Launch Screen)属性检查器中无法直接选择App嵌入的自定义字体。原因是启动屏幕在App正式启动前就完成加载,此时App打包的自定义字体还未被系统识别加载,属性检查器的字体列表仅包含系统自带字体,无法读取App内的自定义字体资源。
你之前完成的配置(字体安装到系统、添加到项目并关联目标、Info中配置“应用提供的字体”、代码能打印字体名称等)都是正确的,这些配置仅保证App启动后可以正常使用自定义字体,但对启动屏幕的属性检查器无效。
可行替代方案
方案一:自定义启动视图替换默认启动屏幕
放弃系统默认的Launch Screen,自己实现一个启动页面,在App启动后加载这个页面并显示自定义字体:
@main struct YourApp: App { @State private var isShowingLaunchView = true var body: some Scene { WindowGroup { Group { if isShowingLaunchView { CustomLaunchView() .onAppear { // 模拟启动延迟,可根据需求调整时长 DispatchQueue.main.asyncAfter(deadline: .now() + 2) { isShowingLaunchView = false } } } else { ContentView() } } } } } struct CustomLaunchView: View { var body: some View { ZStack { // 匹配原启动屏幕的背景色 Color.systemBackground Text("你的启动文案") .font(.custom("YourCustomFontFamilyName", size: 28)) .foregroundColor(.primary) } .ignoresSafeArea() } }
该方案完全兼容自定义字体,只要你之前的字体配置正确,就能正常显示。
方案二:系统安装字体(仅本地测试用)
如果只是想在开发阶段让属性检查器显示自定义字体,可以将字体安装到Mac系统。但此方案仅适用于本地测试,发布后的App在用户设备上无法识别该字体,不用于正式发布。
内容的提问来源于stack exchange,提问作者B.O.M.B
相关产品推荐
相关产品推荐

