我是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")
}
}
}
}
}
有什么主意吗?
答案 0 :(得分:2)
SwiftUI几乎免费为您提供了一大堆便利。
其中之一是称为NavigationView
的接口构建块。
该界面构建块具有一些便利的功能,例如,为您提供自动导航界面(例如,通过NavigationLink
跟随的视图的导航栏中的原始视图的后退按钮等)。 / p>
如果不是您的顶级视图,这些便利中的大多数根本就没有意义。
您是否需要较低级别的NavigationView
的东西?我无法想象,但是我怀疑还有另外一个SwiftUI构建块可以实现它,它是专门针对上下文而设计的。