在SwiftUI中使用NavigationLink导航时如何隐藏TabBar?

Sor*_*ica 7 ios swiftui

我有一个带有2个标签的TabView,每个标签都包含一个NavigationView。TabBar导航到其他视图时,我需要隐藏。一种解决方案是将TabView一个NavigationView 的内部放置,但是我必须为每个NavigationView设置不同的属性。

TabView(selection: $selectedTab, content: {
            NavigationView {
                VStack {
                    NavigationLink(destination: Text("SecondView Tab1")) {
                        Text("Click")
                    }
                }
            }.tabItem {
                Text("ONE")
            }.tag(0)

            NavigationView {
                VStack {
                    NavigationLink(destination: Text("SecondView Tab2")) {
                        Text("Click")
                    }
                }
            }.tabItem {
                Text("TWO")
            }.tag(1)

        })
Run Code Online (Sandbox Code Playgroud)

PS我正在使用Xcode 11 Beta 5

小智 23

有点晚了,但它会起作用,将您的 NavigationView 放在 TabView 之前,当您在选项卡式视图中使用导航链接时,选项卡按钮将被隐藏。

NavigationView{
    TabView{
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 这会产生意想不到的后果/sf/ask/4487146121/ (3认同)

Sal*_*ina -2

据我所知,如果您的导航视图作为子项列出,则您无法隐藏选项卡栏,您的选项卡栏包含您的导航视图。

  • 我自己并没有对此投反对票,但我的猜测是,这被投了反对票,因为此选项在 UIKit 中可用,因此此行为应该在 SwiftUI 中可用 (3认同)