【问题标题】:Navigation bar is hidden but not allowing header button click in SwiftUI导航栏被隐藏但不允许在 SwiftUI 中单击标题按钮
【发布时间】:2023-04-04 12:26:01
【问题描述】:

我试图在 SwiftUI 中隐藏导航栏,能够隐藏导航栏,但它会禁用我的标题按钮的用户交互。 我使用下面的代码来隐藏导航栏。

.navigationBarBackButtonHidden(true).navigationBarHidden(true).navigationBarTitle("")

上面的代码在另一个视图中工作,但在仪表板中不工作。 当我移动到另一个视图并返回仪表板时,导航栏会正确隐藏。

我也试试这个 NavigationLink(destination: MainTabBarView().navigationBarBackButtonHidden(true).navigationBarHidden(true).navigationBarTitle(""), isActive: $isPushHome) 但没有运气。

【问题讨论】:

  • 您想完全删除导航栏吗?从所有视图中包括 mainView(Dashbaord) ?
  • “我的标题按钮的用户交互”是什么意思?
  • 是的@Osman,我想完全删除它。我在屏幕顶部添加了自定义菜单按钮,但由于导航栏,用户无法访问它。
  • 好的,您是否尝试过隐藏和添加工具栏?
  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: xcode swiftui navigation navigationbar


【解决方案1】:

工具栏中还有其他选项。

请尝试以下代码:

   var body: some View {
    NavigationView {
        VStack{
            Text("Content").font(.largeTitle)
            Spacer()
        }
        .padding()
        .navigationBarTitleDisplayMode(.inline)
        .toolbar(content: {
            ToolbarItem(placement: .navigationBarTrailing){
                Button(action: {}, label: {
                    Text("Test")
                })
            }
        })
        .navigationBarBackButtonHidden(true)
    }
}

【讨论】:

  • 我试过这段代码,但它没有显示测试按钮,我不知道为什么。
  • 好的,请显示代码,一种解决方案是您没有导航视图,请尝试添加导航视图。我只是编辑我的问题。
  • 我在登录屏幕中添加了一个导航视图,但我在仪表板上遇到了问题。我还添加了标题以确认 navigationBarTitleDisplayMode 是否更改。结帐代码prnt.sc/1vfgff2这是输出prnt.sc/1vfgkt5
  • 请将工具栏和所有东西添加到 ZStack 中
  • 其实我隐藏了那个视图的导航栏,那为什么还在呢?如果我移动到另一个视图并返回仪表板主视图,那么它将被隐藏。所以问题是第一次它没有隐藏,但第二次它会隐藏。
猜你喜欢
  • 1970-01-01
  • 2012-04-21
  • 1970-01-01
  • 2020-06-24
  • 2016-05-06
  • 1970-01-01
  • 2019-06-09
  • 1970-01-01
相关资源
最近更新 更多