SwiftUI出现问题。 基本上这是我的视图图:
View1-> View2-> View3->等等
现在,我想在View2中显示一个后退按钮,但是当用户查看3时,它应该不可见。 我尝试隐藏和删除项目,但仍然可以在下一个视图上看到“后退”按钮,这将使我回到View1。
答案 0 :(得分:0)
由于我无法用一种纯正的方式来完成此操作,因此我创建了一个自定义按钮,该按钮具有dismiss操作,该按钮具有内容,并且仅当isShowingButton属性为true时该操作才有效,然后进入下一个视图时,将其切换为假。它可行,也许不是最好的方法,但是可行。如果有人以某种方式知道解决它的更好方法,我将不胜感激
答案 1 :(得分:-1)
导航到View 3时,您需要将.navigationBarBackButtonHidden(true)添加到NagivationLink中
struct ViewTwo: View {
var body: some View {
NavigationLink(destination: SecondView().navigationBarBackButtonHidden(true)
) {
Text("Go to View 3")
}
.navigationBarTitle("View 2", displayMode: .inline)
}
}
答案 2 :(得分:-1)
在看不到您的代码的情况下,很难分辨出问题出在哪里。
但是以下代码对我有用
struct ContentView: View {
var body: some View {
NavigationView {
FirstView()
}
}
}
struct FirstView: View {
var body: some View {
NavigationLink(destination: SecondView()
) {
Text("Go to Second View")
}
.navigationBarTitle("FirstView", displayMode: .inline)
}
}
struct SecondView: View {
var body: some View {
NavigationLink(destination: ThirdView().navigationBarBackButtonHidden(true)
) {
Text("Go to Third View")
}
.navigationBarTitle("SecondView", displayMode: .inline)
}
}
struct ThirdView: View {
var body: some View {
Text("Third View without Back Button")
.navigationBarTitle("Third View", displayMode: .inline)
}
}