SwiftUI:单击 NavigationLink 时后退按钮消失

md1*_*123 6 swiftui

我正在尝试NavigationLink在屏幕顶部添加一个,但是一旦我单击它,它就会提示我结果并且“后退”按钮消失。

SwiftUI 代码:

NavigationView {
    VStack {
        NavigationLink (destination: Text("COOL")) {
            Text("COOL")
        }

        Spacer()
    }
    .navigationBarHidden(true)
    .navigationBarTitle(Text("Home"))
    //.edgesIgnoringSafeArea([.top, .bottom])
}
Run Code Online (Sandbox Code Playgroud)

点击后后退按钮消失NavigationLinkhttps : //gyazo.com/9d39936c849f570a05687e41096ddeca

Але*_*кий 1

.navigationBarHidden(true)恕我直言,当您同时使用和时,会出现一些故障.navigationBarTitle(Text("Some text))。如果删除最后一个,后退按钮将照常工作。尽管如此,我还是尝试在代码片段中返回后退按钮。返回第一个视图时仍然存在故障,但后退按钮不会消失。我希望它能有所帮助,并且您将从这里走得更远:

struct NotHiddenBackButton: View {

    @State var hiddingNavBar = true
    @State var goToSecondView = false

    var body: some View {

        NavigationView {

            NavigationLink(destination: ViewWithBackButton(hiddingNavBar: $hiddingNavBar), isActive: $goToSecondView) {

                VStack {
                    Text("COOL")
                        .onTapGesture {
                            self.hiddingNavBar = false
                            self.goToSecondView = true
                    }
                    Spacer()

                }


            }
            .navigationBarHidden(hiddingNavBar)
            .navigationBarTitle(Text("Home"))
        }


    }

}

struct ViewWithBackButton: View {

    @Binding var hiddingNavBar: Bool
    var body: some View {

        Text("Second view")
            .navigationBarTitle("Second view")
            .onDisappear() {
                self.hiddingNavBar = true
        }

    }

}
Run Code Online (Sandbox Code Playgroud)