**
一、简介
**
导航控制器,是iOS中最常用的多视图控制器之一,它用来管理多个试图控制器,主要管理有层级关系的控制器
**
二、创建
**
//创建一个视图控制器
RootViewController *rootController = [[RootViewController alloc]init];
//创建一个UINavigationController,将刚创建的视图控制器作为根视图控制器
UINavigationController *navigation = [[UINavigationController alloc]initWithRootViewController:rootController];
注:UINavigationController至少管理一个视图控制器。
**
三、工作原理
**
UINavigationController通过栈的方式管理控制器的切换,控制入栈和出栈,来展示各个视图控制器
1、常用方法
//进入下一视图控制器
[self.navigationController pushViewController:controller2 animated:YES]
//返回上一个视图控制器
[self.navigationController popViewControllerAnimated:YES]
//返回根视图控制器
[self.navigationController popToRootViewControllerAnimated:YES]
//返回指定视图控制器
[self.navigationController popToViewController:second animated:YES]
2、常用属性
//所有处于栈中的控制器
viewControllers
//位于顶部的视图控制器
topViewController
//当前正在显示的视图控制器
visibleViewController
注:UINavigationController中各视图控制器之间有明显的层级关系!
李梦珂