SwiftUI:单击导航链接时,后退按钮消失



我试图在屏幕顶部添加一个NavigationLink,但是一旦我单击它,它就会提示我进入结果,"后退"按钮消失了。

SwiftUI 代码:

NavigationView {
VStack {
NavigationLink (destination: Text("COOL")) {
Text("COOL")
}
Spacer()
}
.navigationBarHidden(true)
.navigationBarTitle(Text("Home"))
//.edgesIgnoringSafeArea([.top, .bottom])
}

单击NavigationLink后返回按钮消失:https://gyazo.com/9d39936c849f570a05687e41096ddeca

恕我直言,当您同时使用.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
}
}
}

我相信这是一个现在已经在iOS 14中修复的错误

最新更新