为什么我的Button样式对象仅对按钮内的文本起作用,而不对整个按钮起作用?

问题描述 投票:0回答:1

我下面有一个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 swiftui
1个回答
0
投票

要使所有按钮均可点击,您需要为文本设置一个框架。

Button(action: { }) {
  Text("Button")
    .foregroundColor(.white)
    .frame(width: 100, height: 44)
}
.frame(width: 100, height: 44)
.background(Color.red)
.buttonStyle(ScaleButtonStyle())
© www.soinside.com 2019 - 2024. All rights reserved.