Am făcut un mic test. Atunci când apăsați un buton, o anumită sumă se adaugă la Xcode și Ycode. Acum vreau sa iau valoare de Xcode și Ycode cu mine la ecranul următor. Deci, atunci când vă aflați în ecranul următor, puteți răspunde la o altă întrebare și o sumă care se adaugă la partea de sus a sumei existente și apoi vreau să merg în valoare de încă un alt punct de vedere.
Deci, cum as putea lua valoarea de Xcode și Ycode la urmatorul punct de vedere? Acest lucru este de cod am făcut:
@State var ShowButton: Bool = false
@State var ButtonYes: Bool = false
@State var ButtonNo: Bool = false
@State var ButtonSometimes: Bool = false
@State var Xcode = 0
@State var Ycode = 0
var body: some View {
ZStack{
Image("Chimps")
.resizable()
.ignoresSafeArea()
.navigationBarHidden(true)
VStack{
Text("Question 1")
.font(.largeTitle)
.fontWeight(.heavy)
.padding()
.foregroundColor(.white)
.background(Color(red: 0.493, green: 0.184, blue: 0.487))
.cornerRadius(20)
Spacer()
Text(String(Xcode))
Text(String(Ycode))
Text("Question 1")
.foregroundColor(Color.white)
.font(.headline)
.padding()
.background(Color(red: 0.493, green: 0.184, blue: 0.487))
.cornerRadius(20)
Spacer()
Spacer()
HStack(spacing:10) {
Button("Yes") {
ShowButton = true
ButtonYes.toggle()
if ButtonYes == true {
Xcode += 5
}
if ButtonYes == true {
Ycode += 5
}
if ButtonYes == false {
Xcode -= 5
}
if ButtonYes == false {
Ycode -= 5
}
if ButtonNo == true {
Xcode -= 3
}
if ButtonNo == true {
Ycode -= 3
}
if ButtonSometimes == true {
Xcode -= 1
}
if ButtonSometimes == true {
Ycode -= 1
}
if ButtonYes == true {
ButtonNo = false
}
if ButtonYes == true {
ButtonSometimes = false
}
}
.frame(width: 50, height: 50, alignment: .center)
.foregroundColor(.white)
.padding()
.background(ButtonYes ? Color(red: 0.272, green: 0.471, blue: 0.262) : Color(red: 0.493, green: 0.184, blue: 0.487))
.cornerRadius(20)
.shadow(color: .black, radius: 10, x: 10, y: 10)
Button("No") {
ShowButton = true
ButtonNo.toggle()
if ButtonNo == true {
Xcode += 3
}
if ButtonNo == true {
Ycode += 3
}
if ButtonNo == false {
Xcode -= 3
}
if ButtonNo == false {
Ycode -= 3
}
if ButtonYes == true {
Xcode -= 5
}
if ButtonYes == true {
Ycode -= 5
}
if ButtonSometimes == true {
Xcode -= 1
}
if ButtonSometimes == true {
Ycode -= 1
}
if ButtonNo == true {
ButtonYes = false
}
if ButtonNo == true {
ButtonSometimes = false
}
}
.frame(width: 50, height: 50, alignment: .center)
.foregroundColor(.white)
.padding()
.background(ButtonNo ? Color(red: 0.272, green: 0.471, blue: 0.262) : Color(red: 0.493, green: 0.184, blue: 0.487))
.cornerRadius(20)
.shadow(color: .black, radius: 10, x: 10, y: 10)
Button("Sometimes") {
ShowButton = true
ButtonSometimes.toggle()
if ButtonSometimes == true {
Xcode += 1
}
if ButtonSometimes == true {
Ycode += 1
}
if ButtonSometimes == false {
Xcode -= 1
}
if ButtonSometimes == false {
Ycode -= 1
}
if ButtonYes == true {
Xcode -= 5
}
if ButtonYes == true {
Ycode -= 5
}
if ButtonNo == true {
Xcode -= 3
}
if ButtonNo == true {
Ycode -= 3
}
if ButtonSometimes == true {
ButtonYes = false
}
if ButtonSometimes == true {
ButtonNo = false
}
}
.frame(width: 50, height: 50, alignment: .center)
.foregroundColor(.white)
.padding()
.background(ButtonSometimes ? Color(red: 0.272, green: 0.471, blue: 0.262) : Color(red: 0.493, green: 0.184, blue: 0.487))
.cornerRadius(20)
.shadow(color: .black, radius: 10, x: 10, y: 10)
}
Spacer()
if ShowButton {
NavigationLink(
destination: Question2(),
label: {
Rectangle()
.fill(Color(red: 0.493, green: 0.184, blue: 0.487))
.frame(width: 150, height: 80, alignment: .bottom)
.cornerRadius(20)
.padding(10)
.shadow(color: .black, radius: 10, x: 10, y: 10)
.overlay(
Text("Question 2")
.font(.largeTitle)
.foregroundColor(.white)
.shadow(color: .black, radius: 10, x: 10, y: 10)
)}
)
Spacer()
}
}
}
}
}