1、UINavigationController 导航控制器
UINavigationController:导航控制器,它用来管理多个视图控制器。
导航控制器可以认为是管理控制器的控制器,主要管理有层级关系的控制器。
1)、出栈,入栈、navgationBar、navgationItem的使用
2)、UINavigationController以栈的方式管理视图控制器。通过push和pop控制跳转
3)、UINavigationBar管理一组UINavigationItem,UINavigationItem包含了UIBarButtonItem。
1、创建
UINavigationController继承于UIViewController,以栈的方式管理所控制的视图控制器,至少要有一个被管理的视图控制器,这个控制器我们称作,导航控制器的根视图控制器。
任何继承自UIViewController的类(多态)都可以作为根控制器。
2、工作原理
UINavigationController通过栈的方式管理控制器的切换,控制入栈和出栈(addObjects/removeObjects到可变数组)来展示各个视图控制器。
UINavigationController的ContentView里始终显示栈顶控制器的view。
viewControllers(可变数组)属性存储了栈中(数组中)的所有被管理的控制器。
navigationController属性,属于父类(UIViewController的父类UIView)中的属性,每个在栈中的控制器,都能通过此属性,获取自己所在的UINavigation