简体   繁体   English

SwiftUI navigationBarHidden 不起作用并引发错误

[英]SwiftUI navigationBarHidden doesn't work and throws error

I am pushing next view with navigation link我正在使用导航链接推送下一个视图

        NavigationLink(destination: DetailsView()
            .navigationBarTitle("")
            .navigationBarHidden(true),
                       isActive: $isDetailsActive) {
            EmptyView()
        }

I tried the same inside details view too.我也尝试了相同的内部细节视图。 All I am getting is empty Navigation Bar on Details View and error in terminal:我得到的只是详细信息视图上的空导航栏和终端错误:

"changing items while animating can result in a corrupted navigation bar" “在制作动画时更改项目可能会导致导航栏损坏”

The error indicates that you should not push or pop new views on the navigation controller until it's finished with the last push or pop.该错误表明您不应该在导航 controller 上推送或弹出新视图,直到它完成最后一次推送或弹出。

I hide my navigation bar using .onAppear and .onDisappear , you can place those modifiers in your parent view or in DetailsView(), look:我使用.onAppear.onDisappear隐藏导航栏,您可以将这些修饰符放在父视图或 DetailsView() 中,看:

NavigationView {
    VStack {
        Text("Hello World")
    }
    .navigationBarTitle("")
    .navigationBarHidden(self.isNavBarHidden)
    .onAppear {
        self.isNavBarHidden = true
    }.onDisappear {
        self.isNavBarHidden = false
    }
}

Try:尝试:

 NavigationView {

    some code {..}

   .navigationBarTitle("")
   
   .navigationBarHidden(true)

}

It seems that the navigationBarTitle seems to be set at ("") , for the .navigationBarHidden(true) to work within a NavigationView (Xcode Version 13)似乎navigationBarTitle似乎设置为("") ,以便.navigationBarHidden(true)NavigationView中工作(Xcode 版本 13)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM