为 iOS 应用添加自定义字体

了解如何在 iOS 应用中添加和使用自定义字体。

为 iOS 应用添加自定义字体

添加字体文件到项目

最佳实践是,在项目中创建一个专门的文件夹来存放字体文件,例如为"Fonts"或"Resources/Fonts"。

.ttf 或者 .otf 字体拖拽到文件夹中。

在 Info.plist 中注册字体

打开项目的 Info.plist 文件,添加一个名为 UIAppFonts 的键。

这是一个数组类型,然后添加一个条目,输入完整的字体文件名(包含后缀名)

在 SwiftUI 中使用自定义字体

必须通过字体的 PostScript 名称来调用字体,你可以在「字体册」中查询:

下面这个代码不会生效:

Text("花樣年華")
  .font(.custom("汇文明朝体", size: 20))

下面这个代码有效:

Text("花樣年華")
   .font(.custom("Huiwen-mincho", size: 20))

不生效的常见原因

使用 fontWeight 修饰器

如果自定义字体不支持 Weight 的话,设置 fontDesign 会导致自定义字体不生效。

可以在「字体册」中看到字体支持的 Weight:

如果看不到,双击进入字体详情页面。

如果字体支持多个 Weight,字体册中会显示切换按钮:

动态设置子组件自定义字体大小

由于在 SwiftUI 中,使用自定义自动的唯一方法是使用 .font(.custom("Huiwen-mincho", size: UIFont.systemFontSize))

因此,没有办法在父组件中统一设置自定义字体,并在子组件中单独设置字体大小。

字体资源网站