0

我的代码具有类似于此处所示的结构。

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 上,导航栏会自动关闭,但在 secondStatsView 上不会(参见 gif)。我想使用这个代码构造,因为用户可以在应用程序的第一页上选择一些东西,选择后它将打开 tabview。用户可以从任何选项卡返回到 firstView。有没有办法克服这个问题?

在此处输入图像描述

4

0 回答 0