Search code examples
iosswiftuitabbarcontrollertabbar

Remove TabBar item in Swift


I currently try to find a way to remove while run the app a TabBar Item, i found a way to enable or disable it but not to complete remove it.

For disable it i do:

enter image description here

In ViewDidLoad

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

This works well but still the user can see the TabBar item and i ll simply complete remove it, is there a way?

I want to trigger the TabBarItem via Parse, if i set the Parse Data to true it should show other way it should not.


Solution

  • You want to set the viewControllers property of your tabBarController with an array where you excluded the particular viewController that you don't want to have anymore.

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