我下面有一个ButtonStyle对象,我希望在点击按钮时使用它。但是,当我在按钮上调用它时,效果只能在按钮内的文本上看到,而不能在整个按钮上看到。我曾尝试在外面打电话,但无济于事。有人可以向我解释如何解决我的错误吗?
Button(action: {
}) {
Text("Button")
.foregroundColor(.white)
}.background(Color.red)
.buttonStyle(ScaleButtonStyle())
struct ScaleButtonStyle: ButtonStyle {
func makeBody(configuration: Self.Configuration) -> some View {
configuration.label
.scaleEffect(configuration.isPressed ? 5 : 1)
}
}
要使所有按钮均可点击,您需要为文本设置一个框架。
Button(action: { }) {
Text("Button")
.foregroundColor(.white)
.frame(width: 100, height: 44)
}
.frame(width: 100, height: 44)
.background(Color.red)
.buttonStyle(ScaleButtonStyle())