Supprimer l'élément TabBar dans Swift

J'essaie actuellement de find un moyen de supprimer tout en exécutant l'application un élément TabBar, j'ai trouvé un moyen de l'activer ou de le désactiver mais de ne pas le supprimer.

Pour le désactiver, je fais:

entrez la description de l'image ici

Dans ViewDidLoad

if let tabBarItem = self.tabBarController?.tabBar.items?[3] as? UITabBarItem { tabBarItem.enabled = false } 

Cela fonctionne bien mais toujours l'user peut voir l'article TabBar et je vais simplement le supprimer, est-il un moyen?

Je veux triggersr TabBarItem via Parse, si je mets datatables d'parsing à true, il devrait montrer autre chose que cela ne devrait pas.

Vous voulez définir la propriété viewControllers de votre tabBarController avec un tableau dans lequel vous avez exclu le viewController particulier que vous ne voulez plus avoir.

 if let tabBarController = self.tabBarController { let indexToRemove = 3 if indexToRemove < tabBarController.viewControllers?.count { var viewControllers = tabBarController.viewControllers viewControllers?.remove(at: indexToRemove) tabBarController.viewControllers = viewControllers } } 

Pour ceux qui veulent juste désactiver un élément. Utilisez ce code de la solution @ Daniele. et placez-le dans votre class UITabBarController

 viewDidLoad() { let index = 0 //0 to 5 viewControllers?.remove(at: index) } 

Swift 3.1: Pour supprimer un seul index dans le controller de barre d'tabs (vous pouvez utiliser cette méthode dans viewDidLoad et viewDidAppear tous les deux)

 override func viewDidAppear(_ animated: Bool) { } override func viewDidLoad() { super.viewDidLoad() } viewControllers?.remove(at:0) // for 0 index viewControllers?.remove(at:1) // for 1 index viewControllers?.remove(at:2) // for 2 index 

si vous avez 4 index dans la barre d'tabs et vous voulez supprimer les 2 derniers index

 viewControllers?.remove(at:2) viewControllers?.remove(at:2) 

la première ligne enlèvera l'index 3ème et vous restrez 3 de 4 et encore quand vous enlevez le 2ème index il retirera encore l'index 3ème et alors vous aurez restr 2 index en dernier.

Le meilleur moyen est d'utiliser uniquement du text au lieu de l'image. choisissez 'espace' comme text puis désactivez-le. alors l'user ne pourra pas le voir. Je ne l'ai pas testé mais je suis sûr que ça marchera.