一. 导航控制器总述:
UINavigationController是用于构建分层应用程序的主要工具,主要采用栈形式来实现视图。任何类型的视图控制器都可放入栈中。在设计导航控制器时需要指定根视图即用户看到的第一个视图。根视图控制器是被导航控制器推入到栈中的第一个视图控制器。当用户查看下一个试图时,栈中将加入一个新的视图控制器,它所控制的视图将展示给用户。我们可以通过导航按钮来操作分层的应用程序,用它来控制视图的推入或推出。
//1. 第一个页面,第一个视图控制器
ViewController *viewController = [[ViewController alloc] init];
viewController.view.backgroundColor = [UIColor greenColor];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
//显示第一个页面, 并且将该页面的view铺满整个window
self.window.rootViewController = navController;
二.导航控制器视图的推入推出
SecondViewController *viewController = [[SecondViewController alloc] init];
viewController.view.backgroundColor = [UIColor purpleColor];
//将一个新的页面在导航栈中显示出来, 入栈、压栈
//所有已经在导航控制器管理下的页面(UIViewController)都可以通过一个navigationController的属性访问它所在的导航控制器
[self.navigationController pushViewController:viewController animated:YES];
//返回到导航控制器的上一个页面
[self.navigationController popViewControllerAnimated:YES];