TableView в NavigationBar в TabBar Navigation? - PullRequest
0 голосов
/ 27 января 2011

Я создаю приложение с несколькими уровнями.

  • Первый уровень - это вкладки в нижней части экрана.(MainWindow)

  • Второй уровень - это содержимое, отображаемое на каждой вкладке в табличном представлении (расположение)

  • Третий уровень - подробный обзорвыбранный элемент в содержании второго уровня.(LocationDetails)

Первый и Второй уровни работают нормально.Теперь я хочу создать содержание подробного обзора.Я создал новый NIB с именем LocationDetails.xib.Он содержит только некоторый статический текст (вставленное текстовое представление).Таким образом, я могу просмотреть загруженное окно.

В файле Locations.m у меня есть следующая функция:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

NSString * locationCity = [[locations objectAtIndex:indexPath.row] objectForKey:@"city"];

NSLog(@"Your choice is: %@", locationCity);

В этой функции я хочу перейти к другому представлению (LocationDetails).Какой самый лучший путь.Если я не дал вам достаточно информации, скажите мне!Я могу предоставить всю необходимую информацию!

Надеюсь вскоре услышать от вас!

С уважением,

Douwe

1 Ответ

1 голос
/ 27 января 2011

Я бы использовал навигационный контроллер.

В вашем основном xib-файле вы получите что-то вроде этого:

UITabBarViewController // Main Window
  tab 1:
    UINavigationController
      UITableView // (Locations)

  tab 2:
    UINavigationController
      UITableView // (Locations)

Тогда код для вставки в LocatonDetails прост:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    LocationDetailsViewController = [[LocationDetailsViewController alloc] initWithNibName:@"LocationDetails" bundle:nil];
    controller setLocation:[locations objectAtIndex:indexPath.row]];
    [[self navigationController] pushViewController:controller animated:YES];
    [controller release];
}
...