在應用程序委託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,照片相機。不過,我會嘗試推動我的品牌和模型視圖控制器沒有動畫,並看看它做什麼。 –