小编Bou*_*ter的帖子

在 SwiftUI 中处理 NavigationView 内的 TabView 的最佳方法

我正在使用 SwiftUI 开发 Swift 应用程序。

我有这样的设置,我将 TabView 放入 NavigationView 中,并在 tabView 上使用 navigationBarTitle。我这样做是因为如果我将 NavigationView 放入 TabView 中,当我转到 NavigationLink 时,我无法使 Tab 栏消失:目前看来对于 swiftUI 来说这是不可能的。

我的设置当前的问题是,由于我将 .navigationBarTitle 放在 TabView 上,因此当我更改选项卡视图时标题不会更改,并且由于某种原因无法重置子视图上的 .navigationBarTitle。

这是一个代码来解释我所说的:

内容视图:

NavigationView {
  TabView {
    SomeSubView().tabItem() { Text("SomeSubView") }
    Text("dummy2").tabItem() { Text("dummy2") }
    Text("dummy3").tabItem() { Text("dummy3") }
  }.navigationBarTitle("hello")
}
Run Code Online (Sandbox Code Playgroud)

一些子视图:

List(somearray) { element in
  NavigationLink(destination: elementDetails()) {
    SomeRowView()
  }
}
Run Code Online (Sandbox Code Playgroud)

这是预览(上面的代码不完全是我的代码,只是一个示例):

预览

现在我想将 .navigationBarTitle 放入 SomeSubView() 中,如下所示:

List(somearray) { element in
  NavigationLink(destination: elementDetails()) {
    SomeRowView()
  }
}.navigationBarTitle("title2")
Run Code Online (Sandbox Code Playgroud)

而不是为 …

ios tabview swift navigationview swiftui

6
推荐指数
0
解决办法
4475
查看次数

标签 统计

ios ×1

navigationview ×1

swift ×1

swiftui ×1

tabview ×1