SwiftUi 导航链接到相同视图总是作为子视图添加

时间:2021-01-03 15:39:39

标签: swiftui swiftui-navigationlink swiftui-navigationview

我正在尝试从当前视图上的导航链接导航到具有不同数据的同一视图。

但是,我看到导航到的新视图被添加为第一个视图下方的子视图。如下图所示。这是预期的吗?

enter image description here enter image description here

代码看起来像这样。

View1 是一个

VStack {
   HStack {
      Text("")
   }
   Divider()
   HStack {
      Text("some text")
   }
   NavigationView {
      VStack {
          NavigationLink(destination: View1(data: newData) {
              Text("option")
          }
      }
   }
}

1 个答案:

答案 0 :(得分:1)

根据您的评论,您似乎误解了 NavigationView 的实际作用。将其视为 UINavigationController(因为它本质上是一个),而将 NavigationLink 视为具有 Touch Up Inside 故事板转场动作的视图。

As Asperi said,NavigationView 应该是父视图:

var body: some View {
    NavigationView {
        [...]

        NavigationLink(destination: View1(data: newData) {
            [...]
        }
    }
}