Я хочу отключить и включить позже UITabbarItem из AppDelegate.m. (Чтобы быть конкретным, on didFinishLaunchingWithOptions должен быть отключен, и после NSURLConnection он должен быть включен. Я уже пытался создать внешний метод в First View Controller и вызвать его из делегата, но он не работает. Вот моя попытка:iOS - отключить UITabbarItem из AppDelegate
FirstViewController.m:
-(void)enableDataTab {
[[[[self.tabBarController tabBar] items] objectAtIndex:1] setEnabled:YES];
}
AppDelegate.m:
homeVC = [[FirstViewController alloc] init];
[homeVC disableDataTab];
Даже homeVC.tabBarItem.enabled = NO; (без части выделения) не работает ... –
Вам нужно будет получить ссылку на фактический контроллер. Я мог бы дать лучший ответ, если бы вы показали больше того, что делаете в делегате приложения, и больше о том, как выкладывается приложение. Является ли контроллер корневого представления контроллером панели вкладок, и если да, то создаете ли вы его в коде или в раскадровке? Вам нужно раскрыть такие вещи, если вы хотите получить более конкретные инструкции. – matt
Хорошо, как я огорчен AppDelegate запускает NSURlConnection и загружает некоторые данные в точке запуска приложения. UIViewControllers настроены в раскадровке. Возможно, это важно: rootViewVC является TabBarController, а элемент, который я хочу вызвать, принадлежит UITableViewController, который встроен в NavigationController. Мне жаль, что так сложно. На данный момент я нашел обходное решение: внешний BOOL и NSTimer в FirstViewController. –