Swiftui 多级导航快捷界面
我在SwiftUI中开发了一个master detail应用程序,但在第一个DetailView中,导航栏中的导航链接不再工作。我写这篇文章只是简单的演示:Swiftui 多级导航快捷界面,swiftui,Swiftui,我在SwiftUI中开发了一个master detail应用程序,但在第一个DetailView中,导航栏中的导航链接不再工作。我写这篇文章只是简单的演示: struct NavView: View { var body: some View { NavigationView { NavigationLink(destination: Layer()) {Text("Go to Layer 1")} } } } struc
struct NavView: View {
var body: some View {
NavigationView {
NavigationLink(destination: Layer()) {Text("Go to Layer 1")}
}
}
}
struct Layer: View {
var body: some View {
Text("Welcome to Layer 1")
.navigationBarItems(trailing: NavigationLink(destination: AnotherLayer()) { Text("Go to Layer 2") })
}
}
struct AnotherLayer: View {
var body: some View {
Text("Welcome to Layer 2")
}
}
所有内容都会呈现,您可以点击层中的导航栏项
,但什么都不会发生
这是怎么回事?如何访问另一层
?无论您在第一层还是第二层使用导航链接,用作导航栏的导航链接都无法工作,但导航目的链接可以解决此问题
import SwiftUI
struct TestSwift: View {
var body: some View {
NavigationView {
NavigationLink(destination: Layer()) {Text("Go to Level")}
}
}
}
struct Layer: View {
let detailView = NavigationDestinationLink(AnotherLayer())
var body: some View {
VStack {
Text("Text")
}
.navigationBarItems(trailing:
Button(action: {
self.detailView.presented?.value = true
}, label: {
Text("Present Now!")
})
)
}
}
struct AnotherLayer: View {
var body: some View {
Text("Hello")
}
}
请注意,
NavigationDestinationLink
已被弃用。有关此问题的讨论,请参阅。