标签:
1、概述
UINavigationController是IOS编程中比较常用的一种容器view controller,很多系统的控件(如UIImagePickerViewController)以及很多有名的APP中(如qq,系统相册等)都有用到。
导航控制器可以认为是管理控制器的控制器,主要管理有层级关系的控制器。UINavigationController以栈的方式管理所控制的视图控制器(FIFO),至少要有一个被管理的视图控制,这个控制器我们称作,导航控制器的根视图控制器。
任何继承自UIViewController的类(多态)都可以作为根视图控制器。(TbaBar除外)
UINavigationController的ContentView里始终显示栈顶额控制器的view
viewControllers属性存储了栈中所有被管理的视图控制器。
每个被管理的视图控制器都能通过navigationController属性(懒加载的属性)获得自己所在的UINavigationController。
navigationController的navigationbai竖屏高度是44,横屏下是32
首先上一张图(来自苹果官方文档):
UINavigationController view层级
navigaiton的出栈有这么几种方式:
[self.navigationController popViewControllerAnimated:YES]; //回到上一个视图控制器
[self.navigationController popToViewController:viewController animated:YES]; //回到某一个视图控制器
用法:[self.navigationController popToViewController: [self.navigationController.viewControllers objectAtIndex: ([self.navigationController.viewControllers count] -层次)] animated:YES];
[self.navigationController popToRootViewControllerAnimated:YES]; //回到根视图控制器
标签:
原文地址:http://www.cnblogs.com/songshuhaoNB/p/4601478.html