ios 如何在SwiftUI中隐藏NavigationView Bar

waxmsbnn  于 2023-08-08  发布在  iOS
关注(0)|答案(2)|浏览(112)

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

代码1:

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

字符串

代码二:

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


有人知道怎么修吗?

bybem2ql

bybem2ql1#

似乎解决方案可以添加一个标题或删除空间从安全区域。
问题是:


的数据
解决方案1:

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

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

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


j5fpnvbx

j5fpnvbx2#

navigationBarHidden将来会被弃用。
解决方法:

struct HiddenNavUIView: View {
  @State private var tabState: Visibility = .hidden
  
  var body: some View {
      NavigationStack {
        ScrollView {
          VStack(spacing: 12) {
            ForEach(1...50, id: \.self) { index in
              Text("Row \(index)")
              .frame(height: 32)
            }
          }
          .padding(15)
        }
        .navigationTitle("Hello")
        .toolbar(tabState, for: .navigationBar) // <- here
      }
  }
}

字符串

相关问题