当用户输入正确答案时,我有一个显示“正确”的功能。
func displayCorrectOrIncorrect() -> some View {
Group {
if correctAnswer == quiz.answer {
VStack {
Text("Correct")
}
} else {
VStack {
Text("Incorrect, correct answer is \(correctAnswer)")
}
}
}
}
这就是我所说的:
Button(action: {
self.displayCorrectOrIncorrect()
self.updateUI()
})
文本未显示。我该如何解决?
答案 0 :(得分:1)
您正试图在按钮的动作闭合内返回一个视图。此闭包仅指定要执行的操作,而不呈现任何视图。
我建议您浏览一下苹果公司的SwiftUI tutorial。
这是您所要求的示例...
struct ContentView: View {
@State var correctAnswer: Bool = false
var body: some View {
VStack {
Group {
if correctAnswer {
Text("Correct!")
} else {
Text("Incorrect!")
}
}
Button("Button") {
correctAnswer.toggle()
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}