是否有一种方法可以构建一个应用自定义字体和fontSize的视图修饰符(如以下工作示例),并且在同一个修饰符中还可以添加字距调整?
struct labelTextModifier: ViewModifier {
var fontSize: CGFloat
func body(content: Content) -> some View {
content
.font(.custom(Constants.defaultLabelFontSFProDisplayThin, size: fontSize))
}
}
extension View {
func applyLabelFont(size: CGFloat) -> some View {
return self.modifier(labelTextModifier(fontSize: size))
}
}
上面的方法效果很好,但是我无法弄清楚如何向修饰符添加字距调整
尝试
content
.kerning(4)
,但不起作用。
建议?
答案 0 :(得分:1)
替代方法是使用纯文本修饰符,例如
extension Text {
func applyLabelFont(size: CGFloat, kerning: CGFloat = 4) -> Text {
self
.font(.custom(Constants.defaultLabelFontSFProDisplayThin, size: size))
.kerning(kerning)
}
}