0

当用户输入正确答案时,我有一个显示“正确”的功能。

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()

        }) 

文字不显示。我怎样才能解决这个问题?

4

1 回答 1

1

您正试图在按钮的操作闭包内返回一个视图。此闭包仅指定要执行的操作,不呈现任何视图。

我建议阅读 Apple 的SwiftUI 教程

这是你问的一个例子......

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()
    }
}
于 2020-06-30T21:15:45.063 回答