我正在SwiftUI中尝试更改Button
的颜色。这是我的整个CustomButton视图结构:
struct CustomButton: View {
@State private var didTap:Bool = false
var body: some View {
Button(action: {
self.didTap = true
}) {
Text("My custom button")
.font(.system(size: 24))
}
.frame(width: 300, height: 75, alignment: .center)
.padding(.all, 20)
.background(Color.yellow)
//My code above this comment works fine
//I tried something like this, but it is not working
// if didTap == true {
// .background(Color.blue)
// }
}
}
这是我的按钮的外观(这很好):
但我的问题是:如何在用户点击此按钮时更改背景颜色。
- 谢谢-谢谢
4条答案
按热度按时间ljo96ir51#
要执行此操作,您需要根据更改的状态给予颜色:
**PS:**如果你也想管理其他状态,那么你可以选择
enum
。9rnv2umw2#
以防万一有人想要不同的方法。它适用于更多的颜色。
j2cgzkjk3#
但是在新的Ways中,或者在Swift、Xcode和iOS的新版本中,你只需要写
.color_name
,如果你像上面一样使用class,那么它会产生错误。在Struct类中,只需添加
ContentView: View
:3ks5zfa04#
不久前,我们在一个智力测验应用程序上做了这个。如果用户答对了,它会把按钮变成绿色,如果答错了,它会把按钮变成红色。通过删除elif语句,同样的方法也可以用于一个可点击的按钮。