繁体   English   中英

强制一个 NavigationLink 到 SwiftUI 中的详细视图

[英]Force one NavigationLink to the detail view in SwiftUI

我在我的应用程序中有一个主(主要)细节设置,其中顶级 NavigationView go 中的大多数列表项到另一个子菜单项列表,with.isDetailLink(false),然后这些子菜单项导航到详细视图。 这一切都按预期工作。

我还尝试在顶级列表中放入 NavigationLink 以进入我的设置页面,我想将其强制进入详细信息视图。 这个链接没有子菜单,所以我尝试直接导航到它并 force.isDetailView(true)。 但是,这会导致视图在上面的主要 window 中打开,但一开始是隐藏的。 详细信息 window 只有一个后退按钮,然后可以从菜单栏中弹出预期的视图。

有没有办法强制只在详细视图中打开设置菜单项,基本上跳过一个导航级别?

谢谢!

这是我目前正在尝试的简化版本:

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)
                }
            }
        }
    }
}

更新我拍了一些截图来说明这个问题:

顶级导航视图: 顶级导航视图

选择其中一个子菜单,and.isDetailView(false)。 这工作正常: 选择其中一个子菜单,并使用 .isDetailView(false)。这工作正常

设置没有像其他菜单那样的子菜单,所以我希望它直接在右侧打开。 相反,它像这样打开,并且只有在按下后退按钮时才会显示: 设置视图 在此处输入图像描述

嘿,我看过你的截图。 我认为您在“设置”中使用了 NavigationView 2 次。 请删除其中任何一个,它应该可以正常工作!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM