我正在使用 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)
而不是为 …