Ios 强制一个导航链接到SwiftUI中的详细视图

Ios 强制一个导航链接到SwiftUI中的详细视图,ios,swift,ipad,swiftui,master-detail,Ios,Swift,Ipad,Swiftui,Master Detail,我的应用程序中有一个主-(主)-详细设置,其中顶级NavigationView中的大多数列表项使用.isDetailLink(false)转到另一个子菜单项列表,然后这些子菜单项导航到详细视图。这一切都按计划进行 我还试图在顶级列表中添加一个NavigationLink,以进入我的设置页面,我想将其强制进入详细视图。这个链接没有子菜单,所以我尝试直接导航到它并强制.isDetailView(true)。但是,这会导致视图在上面的主窗口中打开,但最初是隐藏的。“详细信息”窗口只有一个“后退”按钮,

我的应用程序中有一个主-(主)-详细设置,其中顶级NavigationView中的大多数列表项使用.isDetailLink(false)转到另一个子菜单项列表,然后这些子菜单项导航到详细视图。这一切都按计划进行

我还试图在顶级列表中添加一个NavigationLink,以进入我的设置页面,我想将其强制进入详细视图。这个链接没有子菜单,所以我尝试直接导航到它并强制.isDetailView(true)。但是,这会导致视图在上面的主窗口中打开,但最初是隐藏的。“详细信息”窗口只有一个“后退”按钮,该按钮将使所需的视图从菜单列中弹出

有没有办法强制在详细视图中仅打开“设置”菜单项,实际上跳过一个导航级别

谢谢

以下是我目前尝试的简化版本:

struct ContentView: View {
    var body: some View {

        NavigationView {
            List {
                NavigationLink(destination: SubMenu1()) {Text("MenuItem1")}
                    .isDetailLink(false)
                
                NavigationLink(destination: SubMenu2()) {Text("MenuItem2")}
                    .isDetailLink(false)
                
                NavigationLink(destination: SubMenu3()) {Text("MenuItem3")})
                    .isDetailLink(false)
                
                NavigationLink(destination: SettingsView()) {Text("Settings")}
                    .isDetailLink(true)
            }
        }

    }
}



struct SubMenu: View {
    var body: some View {
     
        List {
            ForEach(menuItems, id: \.self) { item in
                NavigationLink(destination: DetailView(item)) {
                    Text(item)
                }
            }
        }
    }
}
更新 我拍摄了一些屏幕截图来说明这个问题:

顶级导航视图:

选择其中一个子菜单时,.isDetailView(false)。这是正常工作:

设置没有像其他设置一样的子菜单,因此我希望它直接在右侧打开。相反,它是这样打开的,只有在按下“后退”按钮时才会显示:
嘿,我看过你的截图。我认为您在设置中使用了NavigationView两次。请删除其中任何一个,它应该可以正常工作

您可以尝试使用SwiftUI的“上下文菜单”吗?这将非常适合使用操作显示子菜单。上下文菜单在这里不适合作为UX选择。该应用程序充当目录或索引,因此顶级列表为类别,子菜单为该类别的所有项目,详细视图为每个项目的更多详细信息。是的,我理解您对关联菜单的看法。但是,恐怕我不太明白你的问题。你能提供一些示例截图吗?我用截图更新了帖子,这应该能说明问题。谢谢