![](/img/trans.png)
[英]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.