изменить вкладку и протолкнуть контроллер на стек навигации программно - PullRequest
1 голос
/ 04 июля 2011

У меня есть приложение панели вкладок.Одна из вкладок имеет навигационный стек.Я хотел бы изменить вкладки программно, а затем вставить новый контроллер в выбранный стек вкладок.Я могу корректно менять вкладки:

   KidScienceAppDelegate *appDelegate = (KidScienceAppDelegate*) [[UIApplication sharedApplication] delegate];
    UITabBarController *tab=[appDelegate tabBarController] ;
    tab.selectedIndex=2;

Если я просто запустил это, он правильно переместится на вкладку со стеком навигации и покажет корневой вид.Я хотел бы затем вставить новый контроллер в этот стек.Я пробовал это:

ExperimentsNameViewController *detailViewController = [[ExperimentsNameViewController alloc] initWithNibName:@"ExperimentsNameView" bundle:nil];

FindViewController *c = [tab.viewControllers objectAtIndex:2];
[c.navigationController pushViewController:detailViewController animated:NO];

, но это не толкает контроллер.У кого-нибудь есть мысли?

1 Ответ

1 голос
/ 04 июля 2011

Если у вас есть навигационный контроллер с индексом 2, вы получите навигационный контроллер при [tab.viewControllers objectAtIndex:2];, поэтому он должен быть

[..]
UINavigationController * navigationController = [tab.viewControllers objectAtIndex:2];
[navigationController pushViewController:detailViewController animated:NO];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...