У меня есть UITabbarController, установленный Interfacebuilder.
Контроллер tabbar имеет 5 вкладок, первая - это страница приветствия, а вторая - UITableViewController. У обоих есть NavigationController. На второй вкладке должен отображаться список категорий.
Когда я запускаю приложение, все в порядке. Когда я нажимаю на 2-й вкладке, он отлично загружает вид с помощью контроллера навигации.
Но я хочу загрузить определенную категорию на второй вкладке, используя ссылку на первой вкладке.
Итак, я добавил следующую функцию в appDelegate и вызвал ее из моей первой вкладки:
- (void)loadCategoryViewUsingCategoryId:(NSString*)categoryId
{
CategoryViewController *categoryView = [[CategoryViewController alloc] initWithLoadingCategoryUsingCategoryId:categoryId];
if (!categoryView) {
UIAlertView *errorView;
errorView = [[UIAlertView alloc]
initWithTitle: NSLocalizedString(@"Whoops", @"oddsAppAppDelegate")
message: NSLocalizedString(@"I did not found the requested category. Sorry!", @"oddsAppAppDelegate")
delegate: self
cancelButtonTitle: NSLocalizedString(@"Close", @"oddsAppAppDelegate") otherButtonTitles: nil];
[errorView show];
[errorView autorelease];
}
else {
self.tabBarController.selectedIndex = 1;
self.tabBarController.selectedViewController = categoryView;
[self.tabBarController.selectedViewController setTitle:@"apa"];
[self.tabBarController.selectedViewController viewDidLoad];
}
}
Это работает отлично, НО ... когда загружена вторая вкладка, на ней нет панели инструментов контроллера навигации. Как я могу загрузить его, чтобы сохранить панель инструментов моего контроллера навигации?
Кстати, "CategoryViewController
" - это UITableViewController
.
С уважением,
Пол Пилен