2010-08-14 2 views
1

Я создал приложение из шаблона на основе навигации, данного яблоком. Теперь я хочу добавить второй контроллер навигации в мое приложение, включая новый UITableView. Может ли кто-нибудь показать мне, как это сделать? Благодаря!iPhone Sdk: Как добавить второй UINavigationController?

+0

Вы уверены, что хотите новый контроллер навигации, а не новый контроллер? –

+0

Да, потому что я хочу создать совершенно новый вид heirachy. –

+0

Вы хотите переключиться между этими навигационными контроллерами с помощью панели инструментов или панели вкладок? Или контроллер навигации должен появиться в модальном диалоге? Или что нужно для второго? – Codo

ответ

1

Я думаю, что это можно сделать. В делетете приложения вы обычно делаете что-то вроде [window addSubview:navController.view]. UIWindow - это просто UIView. Так что, если вы создаете два UIView Ивар в UIViewController, который будет содержать две навигационные контроллеры, вы должны быть в состоянии сделать подобную вещь:

@interface MyViewController : UIViewController 
{ 
    UIView* upperView; 
    UIView* lowerView; 
} 

и т.д ...

MyUpperRootViewController* myUpperRVC = [[MyUpperRootViewController alloc] init... 
UINavigationController* myUpperNavController = [[UINavigationController alloc] initWithRootViewController:myUpperRVC]; 
[upperView addSubview:navController.view]; 
[myUpperRVC release]; 

и что-то похожее на lowerView ,

В представлении корневого представления или представлениях подпрограммы, наводимые на контроллеры, поступают к ним обычным способом, как если бы был один навигационный контроллер. [self.navigationController push... должен вести себя нормально.

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

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