web-dev-qa-db-fra.com

SWIFTUI Masquer l'onglet de l'onglet dans la sous-assistage

Je travaille avec Swiftui et j'ai des problèmes avec l'ongletsbar. Je veux masquer la barre d'onglets sur une sous-système spécifique.

Avoir essayé avec

UITabBar.appearance().isHidden = true

Cela ne fonctionne que sur les vues directes dans le Tabview. Mais quand je l'ai placé dans une sous-évaluation, cela ne fonctionne pas.

Avez-vous une solution pour cela?

Merci.

15
Dyngberg

iOS 14

Installez l'intrigité SWIFTPM: https://github.com/siteline/swiftu-introspect

struct SomeView: View{
    
    @State var uiTabarController: UITabBarController?
    
    var body: some View {
        List {
            -your code here-
        }
        
        .navigationBarTitle("Title", displayMode: .inline)
        .introspectTabBarController { (UITabBarController) in
            UITabBarController.tabBar.isHidden = true
            uiTabarController = UITabBarController
        }.onDisappear{
            uiTabarController?.tabBar.isHidden = false
        }
    }
}

Dans ce code dans uiTabarController, nous prenons la référence de UITabarController. Lorsque nous revenons, nous avons activé le Tabar à nouveau. Donc, c'est pourquoi cela est nécessaire.

1
Muhammad Abbas

utilisez simplement l'UINAVIGATIONCONTROLLER UINAVIGATION. comme ça:

laissez Host = UinavigationController (racineViewController: UihostingController (RootView: Hlhome ()))

0
粉红豚Vip

Cela semblait travailler pour moi.

someSubView{
//your code here
}.onAppear(perform: {
                UITabBar.appearance().isHidden = true
            })
)
0
Tanuj Wadhi