【问题标题】:SwiftUI: Back button disappears when clicked on NavigationLinkSwiftUI:单击 NavigationLink 时后退按钮消失
【发布时间】:2020-01-04 09:12:00
【问题描述】:

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

SwiftUI 代码:

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

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

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

【问题讨论】:

    标签: swiftui


    【解决方案1】:

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

    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
            }
    
        }
    
    }
    

    【讨论】:

    • 我没有在我的应用程序中的任何地方使用navigationBarHidden,并且得到了这个丢失的返回按钮。
    【解决方案2】:

    我相信这是现在在 iOS 14 中修复的错误

    【讨论】:

    • 欢迎来到 SO。如果您的回答包含对错误或修复的引用,将会很有帮助。
    • 抱歉,我没有找到相关的参考资料,但我确实在 Xcode 11 / 12 上测试了这个错误,它似乎在 12 日得到解决。
    • 我正在使用 iOS 14 看到它。
    猜你喜欢
    • 1970-01-01
    • 2020-02-22
    • 2020-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多