为什么导航到子视图时退出 TabView?

时间:2021-03-10 17:33:36

标签: swiftui tabview

问题。为什么在导航到 TabView 的子视图时退出我的 TabView?我希望我说的很清楚,但下面的代码已准备好进行复制和粘贴,并注意当我导航到 UnrelatedView 时如何退出我的 tabView...

附加上下文:本例中的根视图 ContentView 嵌入在 App.swift 文件中的 NavigationView 内

  import SwiftUI

struct ContentView: View {
    var body: some View {
        TabView {
            ViewA()
                .tabItem {
                    Text("A")
                }
            
            ViewB()
                .tabItem {
                    Text("B")
                }
            
            ViewC()
                .tabItem {
                    Text("C")
                }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
 
struct ViewA: View {
    var body: some View {
        NavigationLink(destination: UnrelatedView()) {
        Text("ViewA")
        }
    }
}


struct ViewB: View {
    var body: some View {
        Text("ViewB")
    }
}

struct ViewC: View {
    var body: some View {
        Text("ViewC")
    }
}

struct UnrelatedView: View {
    
    var body: some View {
        NavigationView {
        Text("Unrelated View")
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您需要将导航包裹在 NavigationView 中。

struct ViewA: View {
    var body: some View {
        NavigationView {
            NavigationLink(destination: UnrelatedView()) {
                Text("ViewA")
            }
        }
    }
}
相关问题