2011-01-27 3 views
0

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

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

  • Второй уровень отображается с каждой вкладки в Tableview (Locations) содержание

  • Третий уровень является подробный обзор выбранного элемента в содержании второго уровня. (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

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

В основной файл 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]; 
} 
+0

привет Дина, спасибо за ваш быстрый Ответить. Означает ли это, что мое базовое окно (MainWindow) - это окно TabBar, мое второе окно - это окно с навигационной панелью с TableView внутри виртуального окна навигации? – Douwe

+0

Подождите - вы должны иметь только один UIWindow в приложении для iPhone. Я думаю, что этот урок должен объяснить, что я имею в виду: http://b00gizm.posterous.com/how-to-embed-a-navigation-controller-inside-a – deanWombourne

+0

Привет, Дин! Еще раз! Я буду следовать этому уроку! Я вернусь сюда, чтобы ответить на этот пост, хорошо? Thnx для вашего ответа !!! – Douwe

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