I have the following structure
enum Page {
case chapter1
case chapter2
}
struct ContentView: View {
@State var page: Page? = nil
var body: some View {
NavigationView {
VStack {
NavigationLink(destination: Chapter1(page: self.$page),
tag: .chapter1,
selection: self.$page) {
Text("Chapter 1")
}
NavigationLink(destination: Chapter2(page: self.$page),
tag: .chapter2,
selection: self.$page) {
Text("Chapter 2")
}
}
}
}
}
struct Chapter1: View {
@Binding var page: Page?
var body: some View {
VStack {
Button("Back to Overview") {
self.page = nil
}
Button("Chapter 2") {
self.page = .chapter2
}
}
}
}
struct Chapter2: View {
@Binding var page: Page?
var body: some View {
VStack {
Button("Back to Overview") {
self.page = nil
}
}
}
}
The moment I go from Chapter1
directly to Chapter2
it breaks the backlink in Chaper2
.
Firstly, what is the reason for that?
Secondly, is there a way to transition from Chapter1
to Chapter2
with a different kind of animation, instead of duplicate back-and-forth flip?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…