Swiftui 在Swift UI中导航链接至灰色屏幕

Swiftui 在Swift UI中导航链接至灰色屏幕,swiftui,swiftui-navigationlink,swiftui-navigationview,Swiftui,Swiftui Navigationlink,Swiftui Navigationview,我是SwiftUI新手,有一个bug,当我使用过多的导航链接时,我的整个屏幕会变成灰色。 我在研究bug时找不到任何解决方案。 我正在最新版本的Xcode 12.4上运行该项目。 我当前的设置是有两个不同的swiftUI视图,每个视图都包含一个指向另一个视图的导航链接 代码: PageOne.swift PageTwo.swift 视图层次结构中应该只有一个NavigationView 尝试在根级别创建一个NavigationView: struct ContentView: View {

我是SwiftUI新手,有一个bug,当我使用过多的导航链接时,我的整个屏幕会变成灰色。 我在研究bug时找不到任何解决方案。 我正在最新版本的Xcode 12.4上运行该项目。 我当前的设置是有两个不同的swiftUI视图,每个视图都包含一个指向另一个视图的导航链接

代码:

PageOne.swift

PageTwo.swift


视图层次结构中应该只有一个
NavigationView

尝试在根级别创建一个
NavigationView

struct ContentView: View {
    var body: some View {
        NavigationView {
            PageOne()
                .navigationBarHidden(true)
                .navigationBarBackButtonHidden(true)
        }
    }
}
然后从子视图中删除
NavigationView

struct PageOne: View {
    var body: some View {
        VStack {
            Text("This is page 1")
                .font(.system(size: 36, weight: .bold))
                .padding(.bottom)
            
            NavigationLink(
                destination: PageTwo(),
                label: {
                    VStack {
                        Text("Go to Page 2")
                            .font(.system(size: 24, weight: .medium))
                            .foregroundColor(.white)
                            .frame(width: 200, height: 50, alignment: .center)
                            .background(Color.blue)
                            .cornerRadius(12)
                        
                    }
                })
        }
        .navigationBarHidden(true)
        .navigationBarBackButtonHidden(true)
    }
}

这是很多导航视图…这回答了你的问题吗?同样的问题-这样做帮助了我:
struct ContentView: View {
    var body: some View {
        NavigationView {
            PageOne()
                .navigationBarHidden(true)
                .navigationBarBackButtonHidden(true)
        }
    }
}
struct PageOne: View {
    var body: some View {
        VStack {
            Text("This is page 1")
                .font(.system(size: 36, weight: .bold))
                .padding(.bottom)
            
            NavigationLink(
                destination: PageTwo(),
                label: {
                    VStack {
                        Text("Go to Page 2")
                            .font(.system(size: 24, weight: .medium))
                            .foregroundColor(.white)
                            .frame(width: 200, height: 50, alignment: .center)
                            .background(Color.blue)
                            .cornerRadius(12)
                        
                    }
                })
        }
        .navigationBarHidden(true)
        .navigationBarBackButtonHidden(true)
    }
}
struct PageTwo: View {
    var body: some View {
        VStack {
            Text("This is page 2")
                .font(.system(size: 36, weight: .bold))
                .padding(.bottom)
            
            NavigationLink(
                destination: PageOne(),
                label: {
                    VStack {
                        Text("Go to Page 1")
                            .font(.system(size: 24, weight: .medium))
                            .foregroundColor(.white)
                            .frame(width: 200, height: 50, alignment: .center)
                            .background(Color.blue)
                            .cornerRadius(12)
                        
                    }
                })
        }
        .navigationBarHidden(true)
        .navigationBarBackButtonHidden(true)
    }
}