2010-10-28 3 views
1

Я пытался понять это на некоторое время сейчас, но я до такой степени, что, похоже, не могу решить свою проблему, читая другие вопросы Q & As. Я пытаюсь получить активный UIViewController в UINavigationController для отправки сообщений popViewController/pushViewController в UINavigationController, но я не могу понять это. Я, вероятно, делаю что-то довольно глупое, что заставляет его сломаться. Структура должна быть такой, но даже тогда я не уверен, что я сделал это правильно.Как сделать pushViewController/etc. из подкласса UIViewController?

  • mainController
    • primaryNavigationController
      • firstViewController
      • secondViewController

как firstViewController и secondViewController являются s ubclass

mainController.m

firstViewController = [[FirstTestViewController alloc] init]; 
secondViewController = [[FirstTestViewController alloc] init]; 


primaryNavigationController = [[UINavigationController alloc] 
      initWithRootViewController:firstViewController]; 
[primaryNavigationController.view setFrame:CGRectMake(0,0,320i,409)]; 
[self.view addSubview:[primaryNavigationController view]]; 
[primaryNavigationController.navigationBar setFrame:CGRectMake(0,0,20,44)]; 
primaryNavigationController.navigationBar.tintColor = [UIColor blackColor]; 

Как я могу сказать primaryNavigationController подтолкнуть/поп VC внутри подкласса firstTestViewController?

ответ

2

Вы бы выделить второй контроллер представления в пределах первого контроллера представления (потому что вам не нужно это раньше):

secondViewController = [[FirstTestViewController alloc] init]; 
[self.navigationController pushViewController:secondViewController animated:YES]; 
[secondViewController release]; 

В SDK включает в себя много образцов проектов, которые включают навигационный контроллер и показать вам, как сделай это.

+0

Большое спасибо, это именно то, что я искал. Моя проблема заключалась в том, что я добавлял [self.primaryNavigationController, а не [self.navigationController. –

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