Вот оно:
- Создайте новый UINavigationController
- В
viewDidLoad
или viewWillLoad
alloc и инициализируйте контроллер с тем корневым каталогом, который вы хотите - Измените размер представления NavigationController и добавьте его как подпредставление к представлению родительского viewCOntroller (у меня есть self.contentView)
BOOM !!
вот код ..
- (void)viewDidLoad
{
[super viewDidLoad];
[self.contentView setFrame:CGRectMake(0, 0, self.contentView.bounds.size.width, self.contentView.bounds.size.height)];
mNavController =[[UINavigationController alloc]initWithRootViewController:myNestedRootController]; /
[self.mNavController.view setFrame:CGRectMake(0, 0, self.contentView.bounds.size.width, self.contentView.bounds.size.height)];
[self.mNavController setNavigationBarHidden:YES]; //optional
[self.contentView addSubview:self.mNavController.view];
}
На самом деле вы можете пропустить contentView и иметь представление mNavController's
непосредственно на viewcontroller's view
(мой плохой)
У меня есть метод, чтобы выдвинуть (только подтолкнуть) новый VC
-(void)moveToContentViewController:(PM_BaseContentVC *)contentvc animated:(BOOL)animated{
[self.mNavController popToRootViewControllerAnimated:NO]; //silently pop the previous viewcontroller
[self.mNavController pushViewController:contentvc animated:YES]; //push new viewcontrolelr
[self.contentView addSubview:self.mNavController.view]; //add the view
}
приветствия и оптимизации приветствуются:)