我想有条件地显示在我的应用程序不同的观点 - 如果某个布尔是真实的,一个视图就会显示出来。 如果是假的,有不同的看法将被显示。 该布尔是ObservableObject类中,并且从将要显示的视图中的一个改变。
PracticeStatus.swift(父视图)
import Foundation
import SwiftUI
import Combine
class PracticeStatus: ObservableObject {
@Published var showResults:Bool = false
}
PracticeView.swift(父视图)
struct PracticeView: View {
@EnvironmentObject var practiceStatus: PracticeStatus
var body: some View {
VStack {
if practiceStatus.showResults {
ResultView()
} else {
QuestionView().environmentObject(PracticeStatus())
}
}
}
}
QuestionView.swift
struct QuestionView: View {
@EnvironmentObject var practiceStatus: PracticeStatus
var body: some View {
VStack {
...
Button(action: {
self.practiceStatus.showResults = true
}) { ... }
...
}
}
}
但是,此代码不能正常工作。 当内按钮QuestionView
被按下时,不显示ResultView。 是否有人有办法解决吗? 谢谢!