如何在 SwiftUI 中隐藏 NavigationView Bar

Posted

技术标签:

【中文标题】如何在 SwiftUI 中隐藏 NavigationView Bar【英文标题】:How to hide NavigationView Bar in SwiftUI 【发布时间】:2019-12-10 02:35:11 【问题描述】:

我无法隐藏NavigationView 酒吧。我尝试了两种变体:

代码 1:

  public var body: some View 
    NavigationView 
      MasterView()
        .navigationBarHidden(true)
    
  

代码 2:

  public var body: some View 
    NavigationView 
      MasterView()
    
      .navigationBarHidden(true)
  

有人知道如何解决吗?

【问题讨论】:

【参考方案1】:

似乎解决方案可能是添加标题或从安全区域中删除空间。

问题:

解决方案 1:

.navigationBarHidden(true)
.navigationBarTitle(Text("Home"))

解决方案 2(这似乎是最好的):

.navigationBarHidden(true)
.navigationBarTitle(Text("Home"))
.edgesIgnoringSafeArea([.top, .bottom])

【讨论】:

很奇怪,我们需要设置一个标题来隐藏它...但是可以,谢谢。 对我来说,只需添加 edgesIgnoringSafeArea 它是否适用于设备旋转更改。如果我旋转 p > l > p 然后出现空间,我认为它与几何阅读器 + 导航视图有关 只有 .edgesIgnoringSafeArea([.top, .bottom]) 为我工作 ios 14 中,我只需要使用 .navigationBarHidden(true) 来完成这项工作。

以上是关于如何在 SwiftUI 中隐藏 NavigationView Bar的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SwiftUI 中动态隐藏导航返回按钮

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

如何在 SwiftUI 中隐藏额外的 NavigationBar

如何在 SwiftUI 中隐藏 TabBar 并保留工具栏项?

如何在 SwiftUI 中隐藏 macOS 中视图/窗口的状态栏?

如何在 SwiftUI 的标签栏的特定视图中隐藏导航栏?