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

如何自定义SwiftUI.Text的默认字体?避免重复调用font修饰器

自定义SwiftUI Text的默认字体

要实现直接使用Text("Hello world")就自动应用自定义字体anuRegular(14),可以通过以下步骤完成:

1. 确保自定义字体已正确导入项目

  • 将你的字体文件(如anuRegular.ttf)添加到Xcode项目中,勾选目标应用的"Add to targets"选项。
  • 在项目的Info.plist文件中,添加Fonts provided by application数组键,将字体文件名(如anuRegular.ttf)作为数组元素加入。
  • 验证字体的正确名称:可以在代码中打印UIFont.familyNames,找到该字体对应的内部名称(注意文件名和字体内部名称可能不一致)。

2. 设置全局默认字体

通过SwiftUI的环境变量,在应用入口全局配置默认字体,这样所有Text组件都会自动使用该字体:

@main
struct YourApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                // 替换为你的字体名称和字号
                .environment(\.font, Font.custom("anuRegular", size: 14))
        }
    }
}

可选:支持动态字体大小

如果希望字号跟随系统字体大小设置自动调整,可以使用带相对基准的初始化方式:

.environment(\.font, Font.custom("anuRegular", size: 14, relativeTo: .body))

局部范围设置

如果不需要全局生效,只想在某个视图范围内设置默认字体,只需将.environment(\.font, ...)修饰符添加到对应的父视图上即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:22:42