Добавить/Удалить или Показать/Скрыть элементы панели вкладок от UITabbarController при использовании раскадровки
У меня есть приложение, которое должно показывать различный контент с UITabBarController
на основе регистрации пользователя или нет. Есть ли способ добавить и удалить ViewController
из UITabBarController
во время выполнения? Показать и скрыть тоже будет хорошо.
До раскадровки вы можете вызвать setViewController
, но это не кажется правильным способом при использовании табличных платформ.
Ответы
Ответ 1
Вы можете удалить элемент вкладки следующим образом:
NSMutableArray *tabbarViewControllers = [NSMutableArray arrayWithArray: [self.tabBarController viewControllers]];
[tabbarViewControllers removeObjectAtIndex: /*Any index*/];
[self.tabBarController setViewControllers: tabbarViewControllers ];
Ответ 2
Свифт 4+
func removeTab(at index: Int) {
guard var viewControllers = self.tabBarController?.viewControllers else { return }
viewControllers.remove(at: index)
self.tabBarController?.viewControllers = viewControllers
}
Ответ 3
При проектировании в раскадровке мы можем скрыть панель вкладок, используя опцию Bottom-bar, как ни один из файловых инспекторов.
![enter image description here]()