我是iOS和SwiftUI的新手-为什么NavigationView
甚至存在?每当我们需要链接到某个地方时,为什么不仅仅存在NavigationLinks?
为什么NavigationView
必须是顶层视图?从语义上来说,这是没有意义的,因为顶级View应该是VStack
,Zstack
等
目前:
struct ContentView : View {
var body: some View {
NavigationView {
VStack {
Text("Hello World")
NavigationLink(destination: DetailView()) {
Text("Do Something")
}
}
}
}
}
应该:
struct ContentView : View {
var body: some View {
VStack {
Text("Hello World")
NavigationView {
NavigationLink(destination: DetailView()) {
Text("Do Something")
}
}
}
}
}
任何的想法?
最佳答案
SwiftUI实际上免费为您提供了很多便利。
其中之一是称为NavigationView
的接口构建块。
该界面构建块具有一些便利的功能,例如,为您提供自动导航界面(例如,通过NavigationLink
跟随的视图的导航栏中的原始视图的后退按钮等)。
如果不是您的顶级视图,这些便利中的大多数根本就没有意义。
您是否需要较低级别的NavigationView
?我无法想象会发生什么,但是我怀疑还有另一个SwiftUI构建块可以实现,它是专门针对上下文而设计的。
关于ios - 为什么NavigationView必须是顶层 View ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61914859/