奇怪的问题。我有一个名为SecondView
的视图,它的NavigationLink
像这样:
struct SecondView: View {
var body: some View {
NavigationStack {
List {
Section {
EmptyView()
}
//PowerUp Section
Section {
VStack {
NavigationLink (destination: Powerup()) {
Text("2")
}
.isDetailLink(false)
}
}
}
}
}
}
这个视图被嵌入到一个模态视图中。当我在Xcode上预览SecondView
时,NavigationLink
工作正常但当我预览模态表时就没有了。也不能在实际设备或模拟器上工作。看起来像是等级问题之类的。有人能告诉我我哪里错了吗?谢谢。
自动解决问题。我以错误的方式在模态中嵌入SecondView
。视图应该首先用NavigationView
和NavigationStack
封装。也许这对别人有帮助。
由于旧的NavigationLink(destination:)
有一些严重的限制,所以在使用新的NavigationStack
时应该使用NavigationLink(value:)
和.navigationDestination(for:)
,例如
NavigationStack {
List(parks) { park in
NavigationLink(park.name, value: park)
}
.navigationDestination(for: Park.self) { park in
ParkDetails(park: park)
}
}