如何在 SwiftUI 中隐藏额外的 NavigationBar

问题描述

我的代码有问题。 2 个指向不同视图的导航链接

有人知道如何让第一个导航链接不显示给我吗?

preview 1

这是我的代码

preview 2

preview 3

struct ContentView: View {
@State var navigationFlag = false
var body: some View {

        


    NavigationView {
                vstack {
                    Text("First View")
                    
                    Button(action: {
                        self.navigationFlag = true
                    },label: {
                        Text("navigate")
                    })
                    
                    NavigationLink(destination: SwiftUIView(),isActive: self.$navigationFlag,label: {
                                    EmptyView()
                                   })
    
        
    }
}
}

}

struct SwiftUIView:视图 {

var body: some View {
    NavigationView{
 
        NavigationLink(destination:Swift2UIView()) {
    Text("hola")
    }
    }
    

}

解决方法

为了隐藏 NavigationView,您可以像这样使用 navigationBarHidden 视图修饰符:

struct ContentView: View {
    
    var body: some View {
        NavigationView {
            VStack {
                    ...
            } // set an empty string as title and then hide nav bar
            .navigationBarTitle("")
            .navigationBarHidden(true)
        }
    }
    
}