在 SwiftUI 中的 SplitView 中导航主而不是细节

Moj*_*ini 4 master-detail splitview swiftui ios-navigationview

我的 iPad 就绪应用程序中有一个拆分视图:

struct ContentView: View {
    var body: some View {
        NavigationView {
            List {
                NavigationLink("Show the slave view HERE", destination: SlaveView())
                    .navigationBarTitle("Master view")
            }

            Text("Detail view")
                .navigationBarTitle("DO NOT show the slave view here")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我喜欢SlaveView在列表本身中打开的视图,而不是在详细视图中。我曾尝试另一个设置NavigationViewSlave,也低于一文中,也将所有navigationViewStyle的都和各S-MasterSlave没有运气。

这是您可以构建的最简单的 Slave 视图:

struct SlaveView: View {
    var body: some View {
        List {
            NavigationLink("Sub Detail view", destination: Text("Sub Detail view"))
        }
        .navigationBarTitle("Slave view")
    }
}
Run Code Online (Sandbox Code Playgroud)

那么如何更改拆分视图的主(左)视图而不是细节(右)视图?

请注意,这是一个简化的可重现代码。真正的项目使用更复杂的主从列表等等。此外,我们不想丢失导航内容,如转换、标题转换、后退按钮等。

为了更清楚,我需要流程中的这种状态:

需要的步骤

Asp*_*eri 5

只是修改链接,它不是一个细节

演示

NavigationLink("Show the slave view HERE", destination: SlaveView())
    .isDetailLink(false)
Run Code Online (Sandbox Code Playgroud)