所以我想我可能不正确地使用了ViewModifiers,但是是否有可能将ViewModifier的Content转换为预期的类型,例如Text?我想使用.fontWeight(.bold),但这不是基本/别名类型Content的一部分。或者,我应该使用什么来实现此效果?一个自定义的Style函数?
struct ButtonTextModifier: ViewModifier {
func body(content: Content) -> some View {
(content as Text) //<--- ERROR HERE
.fontWeight(.bold) //<--- Because I want to use this
.font(.largeTitle)
.padding()
}
}我得到的错误是:
Cannot convert value of type 'ButtonTextModifier.Content' (aka '_ViewModifier_Content<ButtonTextModifier>') to type 'Text' in coercion
发布于 2020-09-01 03:22:10
您可能需要在Text上添加一个新方法,方法是在它的扩展中声明它。
extension Text {
func buttonTextModifier() -> some View {
self
.fontWeight(.bold)
.font(.largeTitle)
.padding()
}
}https://stackoverflow.com/questions/63676777
复制相似问题