SwiftUI: 点击NavigationLink后返回按钮消失

6

我想在屏幕顶部添加一个NavigationLink,但是一旦我点击它,它会将我引导到结果页面并且“返回”按钮消失了。

SwiftUI 代码:

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

        Spacer()
    }
    .navigationBarHidden(true)
    .navigationBarTitle(Text("Home"))
    //.edgesIgnoringSafeArea([.top, .bottom])
}

在单击NavigationLink后,返回按钮会消失:https://gyazo.com/9d39936c849f570a05687e41096ddeca
2个回答

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
        }

    }

}

1
我的应用程序中没有使用navigationBarHidden,但是却出现了缺少的返回按钮。 - Chris Prince

-2

我相信这是iOS 14中已经修复的错误


欢迎来到SO。如果您的答案包含有关错误或修复的参考资料,那将会很有帮助。 - seshadri_c
1
抱歉,我还没有找到这方面的参考资料,但我已经在 Xcode 11 / 12 上测试了这个 bug,并且在 12 上似乎已经解决了。 - dcelentano
3
我正在iOS 14上查看它。 - Chris Prince

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接