I use TabView
& NavigationStack
. TabView
covered NavigationStack
& inner View
also covered NavigationStack
. I want an inner navigation Push but it's always the root Navigation Push (in TabViewTest). Can I push the inner NavigationStack
View (in PresentView)?
struct TabViewTest: View {
var body: some View {
NavigationStack {
TabView {
PresentView()
.tabItem {
Image(systemName: "2.square.fill")
}
Text("Another Tab")
.tabItem {
Image(systemName: "2.square.fill")
}
}
}
}
}
struct PresentView: View {
@State var stack = NavigationPath()
@State var presentingModal = false
var body: some View {
NavigationStack(path: $stack) {
ZStack {
Color.purple
VStack {
NavigationLink(value: "hi") {
Image(systemName: "person")
}
.navigationDestination(for: String.self) { value in
PushedView(stack: $stack)
}
}
}
}
}
}
struct PushedView: View {
@Binding var stack: NavigationPath
var body: some View {
ZStack {
Color.red
VStack {
NavigationLink(value: Color.red) {
Image(systemName: "person")
}
.navigationDestination(for: Color.self) { value in
Text("Hello")
}
Button {
stack.removeLast()
} label: {
Text("pop")
}
}
}
}
}