我注意到TabView的行为不同于UITabBarController,每次用户从一个选项卡移动到另一个选项卡时,都会清除视图堆栈。
我创建了一个小样本来说明我的情况:
struct ContentView: View {
@State private var selection = 0
var body: some View {
TabView(selection: $selection) {
NavView(id: "A").tabItem { Text("Alpha") }.tag(0)
NavView(id: "B").tabItem { Text("Beta") }.tag(1)
}
}
}
struct NavView: View {
var id: String
var body: some View {
NavigationView {
List {
NavigationLink(destination: Text("Detail \(id)")) { Text(id) }
}
}
}
}
自从访问另一个标签后重新创建NavView
以来,详细信息视图消失了。
问题:是否有一种方法可以重新创建旧的行为,即在另一个选项卡上访问后仍然存在呈现的详细视图?