SwiftUI:如何隐藏NavigationLink跳转页面的默认返回按钮?
你遇到的问题是因为navigationBarBackButtonHidden(true)的作用对象错了——这个修饰符应该加在跳转的目标页面视图上,而不是触发跳转的NavigationLink组件上。
正确的修改方式:
- 打开目标页面
mostDangerous2的代码,把隐藏返回按钮的修饰符加在它的根视图上:
struct mostDangerous2: View { var body: some View { // 替换成你第二页的实际内容 VStack { Text("书籍第二页内容") } .navigationBarBackButtonHidden(true) // 关键:加在目标页面的根视图上 .background(Color("gunMetal")) } }
- 原
NavigationLink的代码不需要保留无效的修饰符,还原为:
NavigationLink(destination: mostDangerous2()) { Text("Next Page") .font(.title3) .fontWeight(.bold) .padding(.all) .overlay( RoundedRectangle(cornerRadius: 15) .stroke(Color("maximumYellowRed"), lineWidth: 3) ) } .background(Color("gunMetal"))
补充说明:
如果目标页面的根视图是嵌套容器(比如VStack、ScrollView),务必确保navigationBarBackButtonHidden(true)加在最外层容器上,这样导航栏才能正确识别设置。如果需要彻底隐藏整个导航栏,可额外添加.navigationBarHidden(true),仅隐藏返回按钮的话,前者就足够。
内容的提问来源于stack exchange,提问作者JakeW
相关产品推荐
相关产品推荐

