[英]Passing the data from one view to another SwiftUI via NavigationLink
[英]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)
}
}
}
}
}
更新我拍了一些截图来说明这个问题:
嘿,我看过你的截图。 我认为您在“设置”中使用了 NavigationView 2 次。 请删除其中任何一个,它应该可以正常工作!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.