如何解决SwiftUI 在 NavigationView 中使用 tabview 自动折叠导航栏
我的代码具有类似于此处可见的结构。
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
firstView()
}
}
}
struct firstView: View {
var body: some View {
NavigationLink(
destination: secondView(),label: {
Text("This is the first view")
})
.navigationTitle("First title")
}
}
struct secondView: View {
var body: some View {
TabView {
statsView()
.tabItem { Text("StatsView") }
secondStatsView()
.tabItem { Text("SecondStatsView") }
}
.navigationBarTitle(Text("Second Title"))
}
}
struct statsView: View {
var body: some View {
ScrollView {
vstack {
Rectangle()
.fill(Color.red)
Rectangle()
.fill(Color.green)
Rectangle()
.fill(Color.blue)
Rectangle()
.fill(Color.red)
Rectangle()
.fill(Color.green)
Rectangle()
.fill(Color.blue)
Rectangle()
.fill(Color.red)
Rectangle()
.fill(Color.green)
Rectangle()
.fill(Color.blue)
}
}
}
}
struct secondStatsView: View {
var body: some View {
ScrollView {
vstack {
Rectangle()
.fill(Color.blue)
Rectangle()
.fill(Color.green)
Rectangle()
.fill(Color.red)
Rectangle()
.fill(Color.blue)
Rectangle()
.fill(Color.green)
Rectangle()
.fill(Color.red)
Rectangle()
.fill(Color.blue)
Rectangle()
.fill(Color.green)
Rectangle()
.fill(Color.red)
}
}
}
}
TabView 位于 NavigationView 内部。两个 tabItems 都有滚动视图。在 statsView 上,NavigationBar 会自动关闭,但在 secondStatsView 上不会(参见 gif)。我想使用此代码构造,因为用户可以在应用程序的第一页上选择某些内容,选择后它将打开 tabview。用户可以从任何选项卡返回到 firstView。有没有办法克服这个问题?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。