有没有办法构建一个应用自定义字体和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)
,但没有工作。
建议?
替代方法是使用纯文本修饰符,例如
extension Text {
func applyLabelFont(size: CGFloat, kerning: CGFloat = 4) -> Text {
self
.font(.custom(Constants.defaultLabelFontSFProDisplayThin, size: size))
.kerning(kerning)
}
}