【发布时间】:2021-02-19 00:17:28
【问题描述】:
我希望我的按钮在按下按钮后看起来有所不同。我试图通过使用 ZStack 和 if 语句来做到这一点。我不明白为什么它不会在黑色按钮和白色按钮之间切换......我正在获得使用 ObservableObject 协议的经验。
class WelcomeButton: ObservableObject {
@Published var hasBeenPressed = false
}
struct WelcomeScreenButton: View {
@ObservedObject var welcomeButton = WelcomeButton()
var body: some View {
ZStack {
if welcomeButton.hasBeenPressed {
Circle()
.fill(Color(.white))
}
else {
Circle()
.fill(Color(.black))
}
}
}
}
struct ContentView: View {
@ObservedObject var welcomeButton = WelcomeButton()
var body: some View {
VStack {
Button(action: {welcomeButton.hasBeenPressed.toggle()})
{
WelcomeScreenButton()
}
.frame(width: 375, height: 375, alignment: .center)
}
}
}
【问题讨论】:
标签: ios swift if-statement button swiftui