Как я могу вставить новый контроллер представления в другой стек контроллеров навигации и переключиться на него? - PullRequest
2 голосов
/ 08 апреля 2010

У меня есть контроллер панели вкладок, созданный в Интерфейсном Разработчике

В панели вкладок находятся 4 контроллера навигации.

Каждый контроллер функционирует отдельно и идеально (ууу!)

То, что мне нужно, - это поместить контроллер представления в другой стек контроллеров навигации и переключить фокус на соответствующий элемент панели вкладок (чтобы пользователь перемещался вбок (на другую вкладку) и вверх (для новый взгляд) одновременно).

Это мой первый раз, когда я работаю с контроллером панели вкладок, и, хотя до сих пор это было просто, выяснение этого дает мне припадки. Любые советы, которые вы можете бросить мне, будут очень благодарны.

1 Ответ

2 голосов
/ 08 апреля 2010

Я бы использовал что-то вроде следующего в качестве отправной точки, где whichTab - это индекс вкладки, на которую вы будете нажимать, а newViewController - это контроллер представления, на который вы хотите нажать и переключиться.Возможно, вам придется поэкспериментировать с порядком нажатия и переключения.

UITabBarController *tabBarController = (UITabBarController *)[[[UIApplication sharedApplication] delegate] tabBarController];

UINavigationController *otherNavController = (UINavigationController *)[[tabBarController viewControllers] objectAtIndex:whichTab];

[otherNavController pushViewController:newViewController animated:NO];
tabBarController.selectedIndex = whichTab;
...