📅  最后修改于: 2023-12-03 15:10:09.780000             🧑  作者: Mango
在 SwiftUI 中,我们可以通过修改 buttonStyle()
方法中的参数来修改按钮的外观,包括按钮颜色。下面我们将介绍两种方式来实现这个目标。
SwiftUI 中提供了许多系统的颜色,可以直接使用。下面的代码展示了如何使用系统颜色来设置按钮的颜色:
Button("Confirm") {
// handling action
}
.buttonStyle(.borderedProminent)
.foregroundColor(.white)
.background(Color.blue)
在上面的代码中,我们用 background()
方法来设置按钮的背景颜色为系统蓝色,用 foregroundColor()
方法来设置按钮的前景颜色为白色。
如果我们想要使用自己的颜色来设置按钮的颜色,我们需要自定义一个按钮样式。下面的代码展示了如何自定义一个按钮样式并设置其颜色:
struct CustomButtonStyle: ButtonStyle {
var color: Color
func makeBody(configuration: Configuration) -> some View {
configuration.label
.foregroundColor(.white)
.padding()
.background(RoundedRectangle(cornerRadius: 10).fill(color))
.scaleEffect(configuration.isPressed ? 0.95 : 1.0)
}
}
Button("Confirm") {
// handling action
}
.buttonStyle(CustomButtonStyle(color: Color.red))
在上面的代码中,我们定义了一个 CustomButtonStyle
结构体,并实现了 ButtonStyle
协议。在 makeBody()
方法中,我们对按钮的标签进行了一些设置,包括颜色、边距和圆角等。接着,我们用 configuration.isPressed
保持按钮按下时有缩小的效果。
最后我们可以通过 CustomButtonStyle
的 color
属性来自定义按钮的颜色,示例中使用了红色。
以上两种方式都可以自定义 SwiftUI 中的按钮颜色,我们可以根据自己的需要来选择,达到想要的按钮外观效果。