swift - 添加自定义字体作为字体类型 SwiftUI 的扩展
问题描述
首先要明确的是,我不是在问如何将自定义字体添加到 SwiftUI,我是在问如何使用自定义字体扩展字体类型。
例如,我正在使用自定义字体Manrope。我将 ttf 文件添加到我的项目中,并将其添加到我的信息 plist 中。当前我必须使用这样的字体:
.font(.custom("Manrope-SemiBold", size: 24))
我想知道我是否可以扩展字体以便我可以像这样使用 Manrope
.font(.manrope.semibold())
或者
.font(.manrope("Semibold"))
解决方案
您可以将自定义字体声明为 Font 上的静态计算属性:
extension Font {
static var myCustomFont: Font {
Font.custom("Manrope-SemiBold", size: 24)
}
}
甚至更好地支持动态类型:
extension Font {
static var myCustomFont: Font {
Font.custom("Manrope-SemiBold", size: 24, relativeTo: .title2)
}
}
然后你可以像预定义系统字体一样使用它:
Text("Example")
.font(.myCustomFont)
推荐阅读
- java - 如何使用 ObjectMapper 读取具有地图内容映射的 JSON 文件?
- google-chrome - Chrome 扩展 UI 调整大小/在生产中使用较小的值
- go - switch case 处的正则表达式
- asp.net - 在 Ionic Angular 应用程序中使用用户身份验证向 ASP.net Web API 发出 HTTP 获取请求
- google-bigquery - Campaign Manager - 尝试访问活动中的数据以使用数据传输云存储桶查看 GCLID
- linux - 我可以在 docker linux 容器中从我的 Windows 机器上读取我的 x509Store 的 x509certificate2 证书吗?
- scala - 基于数据帧中出现频率的 Spark 数据帧随机采样
- vba - VBA 将 DAO 连接字符串和 Recordset 转换为 ODBC
- tsql - 如何让 T-SQL 包含上个月的正确数据
- python - 如何从代理使用代理?