为您的 iOS 应用提供简单的字体品牌化。
- 用您自己的品牌字体覆盖默认系统字体。
- 与 UIKit 和 SwiftUI 均兼容。
- 简单直观的 API,易于快速集成。
即时字体品牌化,自动覆盖系统字体
UIFont.systemFontFamilyOverride = "Marker Felt" // replace with appropriate font
在 UIKit 中显式指定字体
someUIKitElement.font = .systemFontOverride(size: 16)
在 SwiftUI 中显式指定字体
someSwiftUIView
.font(.systemOverride(size: 16))
pod 'SystemFontOverride'
dependencies: [
.package(url: "https://github.com/yonat/SystemFontOverride", from: "1.0.0")
]
大多数 UI 元素都将使用覆盖字体正常工作。
然而,有一些元素完全忽略了覆盖
- 由
ColorPicker
或UIColorWell
提示的 Sheet
此外,一些 SwiftUI 控件需要显式的 .font()
修改器来更新它们的标题字体
选择器
菜单
切换
bordered
和borderedProminent
按钮样式- 某些上下文中的
Label
有关详细信息,请参阅示例应用。
为了自动覆盖系统字体,SystemFontOverride 使用 方法交换 来覆盖 UIFont.systemFont(ofSize:)
和相关方法。
分段控件和 UITextField
忽略系统字体覆盖,但它们的 appearance()
代理正确地将标题设置为覆盖字体。