SwiftUI ViewModifier - 添加字距调整
SwiftUI ViewModifier - add kerning
有没有一种方法可以构建应用自定义字体和字体大小的视图修改器,如下面的工作示例,并在同一修改器中也可以添加字距调整?
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)
}
}
有没有一种方法可以构建应用自定义字体和字体大小的视图修改器,如下面的工作示例,并在同一修改器中也可以添加字距调整?
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)
}
}