语义字体样式的自定义字体,例如标题、正文等?

时间:2021-02-08 23:03:01

标签: ios swiftui

我想使用语义字体样式,但也想使用自定义字体。这是可能的,所以我可以继续在代码中使用 .font(.headline) 但使用我自己的自定义字体?

1 个答案:

答案 0 :(得分:0)

  1. 将您的自定义字体添加到您的项目中:

add your custom fonts to your project:

  1. 将自定义字体添加到项目的 info.plist:

Add your custom fonts to the info.plist:

  1. 添加扩展:
extension NSAttributedString.Key {
    public enum SourceSansPro: String {
        case black = "SourceSansPro-Black"
        case blackItalic = "SourceSansPro-BlackIt"
        case bold = "SourceSansPro-Bold"
        case boldItalic = "SourceSansPro-BoldIt"
        case extraLight = "SourceSansPro-ExtraLight"
        case extraLightItalic = "SourceSansPro-ExtraLightIt"
        case italic = "SourceSansPro-It"
        case light = "SourceSansPro-Light"
        case lightItalic = "SourceSansPro-LightIt"
        case regular = "SourceSansPro-Regular"
        case semibold = "SourceSansPro-Semibold"
        case semiboldItalic = "SourceSansPro-SemiboldIt"
    }
}
  1. 添加扩展:
extension Font {
    static func my(font: NSAttributedString.Key.SourceSansPro, size: CGFloat) -> Font {
        return self.custom(font.rawValue, size: size)
    }
}
  1. 使用:
Text("Title")
    .font(.my(font: .bold, size: 17))