当视图在 SwiftUI 中消失时如何隐藏 NavigationBar?

Posted

技术标签:

【中文标题】当视图在 SwiftUI 中消失时如何隐藏 NavigationBar?【英文标题】:How to hide NavigationBar when the view disappears in SwiftUI? 【发布时间】:2021-06-14 05:20:45 【问题描述】:
struct SomeView: View 
  var body: some View 
    ZStack 
      //rest of the code goes here
    .navigationBarTitle("Some View")
  

我正在尝试使用 .onDisappear 隐藏视图的 NavigationBar,但它不起作用并引发警告。当视图消失或某些条件返回 true 而不是其他情况时,如何隐藏我的 NavigationBar?

【问题讨论】:

向我们展示您正在使用的代码,这样更容易理解问题 我已经用示例代码编辑了这个问题。当我从这个视图切换到另一个视图时,我只想隐藏导航栏 【参考方案1】:

隐藏导航栏视图 - navigationBarHidden 选项

struct SomeView: View 
    @State private var condition = false
  var body: some View 
    NavigationView 
        Toggle(isOn: $condition) 
            Text("Hide NavigationBar View")
        .padding(.horizontal)
       .navigationBarTitle("Some View")
        .navigationBarHidden(condition)
    
  

【讨论】:

以上是关于当视图在 SwiftUI 中消失时如何隐藏 NavigationBar?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 15 中使用 SwiftUI 在特定视图中隐藏 TabBar

SwiftUI-NavigationLink中的NavigationBar在视图中迅速显示然后消失

SwiftUI Picker 视图在 TabView 中消失

带有 navigationLink 的 SwiftUI 消失后退按钮

文本字段点击正在关闭 SwiftUI 中的导航链接

如何使用滚动视图使隐藏的按钮菜单出现/消失?