在SwiftUI中推送到另一个屏幕时如何隐藏NavigationView

时间:2019-12-06 12:36:35

标签: swiftui navigationview

我有2个屏幕CourseList和第二个CourseDetail。在这里我可以通过打击代码在“第一/初始屏幕”上隐藏navigationView。

    var body: some View {
    NavigationView  {
        List (networkManager.courses)  { course in
            NavigationLink(destination: CourseDetails(course: course)) {
                CourseRow(course: course)
            }
            .padding(EdgeInsets(top: 0, leading: -8, bottom: 0, trailing: 0))
        }
        .navigationBarTitle(Text("Courses"), displayMode: .inline)
        .navigationBarHidden(true) //It Hides NavigationView

    }
}

在第二屏幕课程详细信息上,我想隐藏导航栏。

2 个答案:

答案 0 :(得分:1)

在“课程详细信息”视图中添加:

.navigationBarTitle("")
.navigationBarHidden(true)

有时候,您首先需要设置标题才能隐藏导航栏。

答案 1 :(得分:1)

您尝试使用以下代码:

struct SecondScreen: View {
var body: some View {
    VStack {
        BottomView()
            .offset(y: 90)
    }
    .navigationBarHidden(true)
    .navigationBarTitle("")
}}