我正在尝试创建一个自定义ButtonStyle
,该自定义DefaultButtonStyle
提供一些默认值,但也可以覆盖。
例如,在iOS上,foregroundColor
默认将文本涂成蓝色,但是您可以通过指定PlainButtonStyle
修饰符来覆盖它。同样,public struct CustomButtonStyle: ButtonStyle {
public func makeBody(configuration: Self.Configuration) -> some View
{
configuration.label
.foregroundColor(Color.blue)
}
}
默认将文本涂成黑色,但也可以覆盖:
很显然,可以创建可替代的按钮样式。但是,如果我只创建一个设置前景颜色的方法,则它是不可覆盖的:
ButtonStyle
如何制作提供默认前景色但也可以覆盖的file.jpg
?
谢谢!
答案 0 :(得分:0)
您可以这样实现:
public struct CustomButtonStyle: ButtonStyle {
let color: Color
public init(color: Color = .accentColor) {
self.color = color
}
public func makeBody(configuration: Self.Configuration) -> some View {
configuration.label
.foregroundColor(color)
}
}