SwiftUI 如何使用 TabView 隐藏导航栏

时间:2021-02-24 02:44:07

标签: ios swiftui

我在 #include <cassert> int main() { Outer outer; outer.j = { {"come0", "leave0", {"auxa_0", "auxb_0"}}, {"come1", "leave1", {"auxa_1"}} }; assert(outer.find_answer(&Auxiliary::come_greet, "foo") == Outer::not_found); assert(outer.find_answer(&Auxiliary::come_greet, "come0") == outer.j[0]); assert(outer.find_answer(&Auxiliary::come_greet, "come1") == outer.j[1]); assert(outer.find_answer(&Auxiliary::leave_greet, "leave0") == outer.j[0]); assert(outer.find_answer(&Auxiliary::leave_greet, "leave1") == outer.j[1]); } 中使用 SwiftUI TabView,但我无法在 iOS 13.0 模拟器中隐藏导航栏。

代码如下:

NavigationView

有什么帮助吗?谢谢!

enter image description here

2 个答案:

答案 0 :(得分:0)

您已经用 .navigationBarHidden(true) 隐藏了导航栏。在这里您看到的是 safe area ,因此您可以使用 .ignoresSafeArea()

让您的视图扩展到安全区域
struct ContentView: View {
    var body: some View {
        NavigationView {
            ZStack {
                Color.red
                
                TabView(selection: .constant(0),
                        content: {
                            TestView()
                                .tabItem { Text("test") }
                                .tag(0)
                                .navigationBarTitle("")
                                .navigationBarHidden(true)
                                .ignoresSafeArea() //<-here
                        })
            }
            
        }
    }
}

enter image description here enter image description here

答案 1 :(得分:0)

在您想要隐藏 NavigationView 的视图中,使用 .navigationBarHidden(true) 将其隐藏。

struct TestView: View {
    var body: some View {
        ZStack {
            Color.green
            Text("Hello")
        }
        .navigationBarHidden(true)
    }
}

如果您不想要大的 NavigationView,请使用 .navigationBarTitleDisplayMode(.inline) 缩小尺寸,并继续使用 ToolBarItems