我创建了一个按钮样式来自定义按钮。像这样的东西:
struct BlueButtonStyle: ButtonStyle {
func makeBody(configuration: Configuration) -> some View {
configuration.label
.padding()
.background(Color(red: 0, green: 0, blue: 0.5))
.foregroundStyle(.white)
.clipShape(Capsule())
}
}
要使用它,我必须像这样调用它并且它工作正常。
.buttonStyle(BlueButtonStyle(... my parameters))
注意:在我的例子中,我将参数传递给它。
但相反,我想这样称呼它
.blueButtonStyle(... my parameters)
如果那是常规视图修改器,我会这样做:
extension View {
func blueButtonStyle(... my parameters) -> some View {
self.modifier(BlueButtonStyle(... my parameters)
}
这编译得很好,但是当我尝试使用
.blueButtonStyle(... my parameters)
我明白了
Value of type 'Button<some View>' has no member 'blueButtonStyle'
怎么了?
代替
和