Как управлять элементом панели вкладок в запуске приложения в ios

Я создал раскадровку с UITabbarController как начальный rootViewController и добавил 6 элементов в панели вкладок

введите описание изображения здесь

До сих пор это прекрасно. теперь мне нужно управлять элементами панели вкладок при следующих условиях:

  1. если пользователь не вошёл в систему – удалите 6-й элемент
  2. если пользователь вошел в систему – удалите 5-й элемент

Я могу удалить элемент didFinishLaunchingWithOptions в AppDelegate didFinishLaunchingWithOptions в AppDelegate , выполнив следующий код

 - (BOOL)application : (UIApplication *)application didFinishLaunchingWithOptions : (NSDictionary *)launchOptions { NSString *getUserLoggedStatus = [[NSUserDefaults standardUserDefaults] valueForKey : @"USER_STATUS"]; BOOL loggedStatus = ([getUserLoggedStatus isEqualToString : @"1"]) ? true : false; UIStoryboard *storyboard = [UIStoryboard storyboardWithName : @"Main" bundle : nil]; UITabBarController *tabbarController = [storyboard instantiateViewControllerWithIdentifier : @"MyTabBarController"]; NSMutableArray *tabbarItems = [NSMutableArray arrayWithArray : tabbarController.viewControllers]; if (!loggedStatus) { for (UINavigationController *nav in tabbarItems) { if([nav.restorationIdentifier isEqualToString : @"CommunityStoryboardID"]) { [tabbarItems removeObject : nav]; break; } } [tabbarController setViewControllers : [NSArray arrayWithArray : tabbarItems]]; } else { for (UINavigationController *nav in tabbarItems) { if([nav.restorationIdentifier isEqualToString : @"RegisterStoryboardID"]) { [tabbarItems removeObject : nav]; break; } } [tabbarController setViewControllers : [NSArray arrayWithArray : tabbarItems]]; } self.window.rootViewController = tabbarController; return YES; } 

но мне нужно сделать то же самое, когда пользователь регистрируется и регистрируется с помощью 5-й вкладки
при успешном входе в систему я меняю индекс вкладки на 0 и добавляет следующий код в viewDidLoad в HomeViewController при условии, что пользователь уже вошел в систему и перенаправлен с страницы регистрации / входа

 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; UITabBarController *tabbarController = [storyboard instantiateViewControllerWithIdentifier : @"MyTabBarController"]; NSMutableArray *tabbarItems = [NSMutableArray arrayWithArray : tabbarController.viewControllers]; BOOL communityFlag = false; for (UINavigationController *nav in tabbarItems) { if([nav.restorationIdentifier isEqualToString : @"RegisterStoryboardID"]) { [tabbarItems removeObject : nav]; break; } if([nav.restorationIdentifier isEqualToString:@"CommunityStoryboardID"]) { communityFlag = true; break; } } if(!communityFlag) { UINavigationController *controller = [storyboard instantiateViewControllerWithIdentifier:@"CommunityStoryboardID"]; [tabbarItems addObject : controller]; } [self.tabBarController setViewControllers:[NSArray arrayWithArray:tabbarItems]]; 

выше код не работает и не бросает никаких ошибок. Пожалуйста помогите.

  • Получение рамки определенного элемента панели вкладок
  • iOS 8: выбранное изображение для настраиваемого элемента панели вкладок, заданного в построителе интерфейса, не работает
  • ios извлекается при выборе элемента uitabbarcontroller
  • Пользовательское действие при нажатии на UITabBarController
  • Как добавить небольшую красную точку в UITabBarItem
  • Значок цвета значка панели ввода iOS 8
  • Название UITabBarItem в центре названия, а не внизу
  • setTitleTextAttributes не работает для UITabBarItem, когда он не выбран в быстрых
  • UITabBarController moreNavigationController item image (изображение UITableViewCell)
  • Изображение индикатора выбора UITabBar не принимает весь размер высоты tabBar в ObjectiveC
  • Есть ли в любом случае добавить ту же строку меню прокрутки на панели навигации?
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.