2014-01-04 3 views
0

Я хочу отключить и включить позже 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]; 

ответ

1

Подобно этому (в вид кон Троллингист):

self.tabBarItem.enabled = NO; 

Или как это (в приложении делегата):

myFirstViewController.tabBarItem.enabled = NO; 

Строка пункт Вкладка представляющий контроллер представления является свойство этого вида контроллера.

Кроме того, не сказать

homeVC = [[FirstViewController alloc] init]; 

Это делает совершенно новый FirstViewController. Вы не хотите новый FirstViewController; вам нужен тот, который уже существует в качестве дочернего элемента контроллера панели вкладок.

+0

Даже homeVC.tabBarItem.enabled = NO; (без части выделения) не работает ... –

+0

Вам нужно будет получить ссылку на фактический контроллер. Я мог бы дать лучший ответ, если бы вы показали больше того, что делаете в делегате приложения, и больше о том, как выкладывается приложение. Является ли контроллер корневого представления контроллером панели вкладок, и если да, то создаете ли вы его в коде или в раскадровке? Вам нужно раскрыть такие вещи, если вы хотите получить более конкретные инструкции. – matt

+0

Хорошо, как я огорчен AppDelegate запускает NSURlConnection и загружает некоторые данные в точке запуска приложения. UIViewControllers настроены в раскадровке. Возможно, это важно: rootViewVC является TabBarController, а элемент, который я хочу вызвать, принадлежит UITableViewController, который встроен в NavigationController. Мне жаль, что так сложно. На данный момент я нашел обходное решение: внешний BOOL и NSTimer в FirstViewController. –

Смежные вопросы