我正在尝试在屏幕顶部添加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))
时,会出现一些小故障恕我直言。如果删除最后一个,则后退按钮将照常工作。尽管如此,我还是尝试在您的代码片段中返回back按钮。返回第一视图时它仍然有故障,但后退按钮不会消失。希望对您有所帮助,并且您可以从这里走的更远:
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
}
}
}