SwiftUI ViewModifier - добавить кернинг
Есть ли способ создать модификатор представления, который применяет пользовательский шрифт и размер шрифта, как в приведенном ниже рабочем примере, и имеет в том же модификаторе возможность добавить кернинг?
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)
, но не сработало.
Предложения?
1 ответ
Решение
Альтернативный вариант - использовать модификатор только для текста, например
extension Text {
func applyLabelFont(size: CGFloat, kerning: CGFloat = 4) -> Text {
self
.font(.custom(Constants.defaultLabelFontSFProDisplayThin, size: size))
.kerning(kerning)
}
}