在应用程序委托applicationDidFinishLoading
:
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
[window makeKeyAndVisible];
[window addSubview:navController.view];
这将实例导航控制器,并将其添加到窗口的图。
现在,在RootViewController的类(可以说其所谓FirstViewController
),你可以这样做:
- (void)clickedAButton:(id)selector {
SecondViewController *nextViewController = [[SecondViewController alloc] initWithNibName:nil bundle:nil];
// and push it onto the 'navigation stack'
[self.navigationController pushNavigationController:nextViewController animated:YES];
// and release
[nextViewController release];
}
而在你SecondViewController
您可以使用导航从堆栈:
- (void)clickedAnotherButton:(id)selector {
// goes back to the last view controller in the stack
[self.navigationController popViewControllerAnimated:YES];
}
所以对你来说,它会去:
在应用程序代理中设置导航控制器与Brand
作为根视图控制器 用户选择他们的品牌和您pushViewController:animated:
视图控制器Model
。然后用户选择他们的模型和pushViewController:animated:
Color
视图控制器。类似地,用户选择一种颜色,然后按下视图控制器Pippo
。现在,如果用户按下(或者您拨打popViewControllerAnimated:
),它将返回到Color
视图控制器,其状态与用户使其离开Pippo
控制器时的状态相同。
soorry,错误的答案,原因有二:我从我的文章引述如下:“”皮波“),这实际上驻留在导航层次以外(我可以”把它推到导航控制器中用于几种方法,我强迫这么做!)。“所以你知道我不能和我不想在我的导航控制器中推“pippo”。 - 另外,我想在没有用户交互的情况下导航控制器。 : - \ –
我想不出一个单一的情况下,你不能推视图控制器到导航堆栈。但是,你是老板。使用push和pop方法可以在没有用户交互的情况下浏览堆栈。无论如何,无法帮助你,因为我不再了解。 –
我的“皮波”是一个自定义imagepicker,照片相机。不过,我会尝试推动我的品牌和模型视图控制器没有动画,并看看它做什么。 –