UINavigationController具体解释(一)
@UINavigationControlle简单介绍:
1.导航控制器,专门管理控制器的控制器.
2.採用栈的方式管理全部controller,每一个controller管理各自的视图
@UINavigationControlle结构:
1.它是UIViewController的子类,因此它也由view属性
2.它的view包括3个子视图:navigationBar contentView(不是属性) toolbar
3.导航控制器使用这些对象实现导航界面,我们负责提供这些对象,进行展示,參考下图(苹果官方):
@UINavigationControlle的创建:
1.它以栈的方式管理所控制的视图,至少要有一个被管理的UIViewController作为rootViewController
2.导航界面的对象会被同一时候创建
3.设置delegate,监控导航堆栈的变化,即viewControllers,topController,visibleController等等
@UINavigationControlle导航方法:
1.推出下一级controller(入栈):
pushViewController:animated:
2.返回上一级controller(出栈):popViewControllerAnimated: // 返回上一级
popToRootViewControllerAnimated: // 返回根视图(中间不管多少个视图都所有被出栈,没了)
// @property(nonatomic,copy)NSArray *viewControllers;// The current view controller stack.
// 通过[self.navigationController.viewControllers objectAtIndex:n] 来选定指定视图
popToViewController:animated: // 返回指定视图
3.导航控制器提供已有的控件实现返回上一级(即被根视图推出的View都自带一个返回 <Back button)
代码演示样例:
@这里必需要说一下self.navigationController
// If this view controller has been pushed onto a navigation controller, return it.