界面通信

UI_08 UINavigationController、界面通信

喜夏-厌秋 提交于 2019-12-04 03:56:05
⼀、UINavigationController UINavigationController:导航控制器,是iOS中最常⽤的多视图控制器 之⼀,它⽤来管理多个视图控制器。 导航控制器可以认为是 管理控制器的控制器,主要管理有层级关系的控制器。 UINavigationController继承于UIViewController,以栈的⽅式管理所 控制的视图控制器,⾄少要有⼀个被管理的视图控制器,这个控制器 我们称作,导航控制器的根视图控制器。 任何继承⾃UIViewController的类(多态)都可以作为根控制器。 1、⼯作原理 UINavigationController通过栈的⽅式管理控制器的切换,控制⼊栈和出栈来展⽰各个视图控制器。 UINavigationController的ContentView⾥始终显⽰栈顶控制器的view。 viewControllers属性存储了栈中的所有被管理的控制器 navigationController属性,⽗类中的属性,每个在栈中的控制器,都能通过此属性,获取⾃⼰所在的UINavigationController对象。 2、⼊栈和出栈 - ( void )pushViewController:( UIViewController *)viewController animated:( BOOL )animated; //进⼊下