前言
最近通过对一些APP的观察发现,现在绝大多数的APP都会有导航栏联动效果即:返回时导航栏会随着控制器一起返回,那么我们应该如何来处理这种情况呢,经过研究及查找资料发现有以下两种方式
* 隐藏掉系统的导航栏,为每一个控制器添加自定义导航栏,但是这种方法有个弊端就是不能够使用系统导航栏的属性了
* 通过一些特殊处理为每个控制器包装一个导航控制器,但由于导航控制器的子类不能是导航控制器,所以需要再包装一个控制器
GKNavigationController使用的是第二种方法,下面具体说一下实现方法及用法。
一 - 实现介绍
首先看一下下面的层次结构
层次结构
1. 根控制器的导航控制器
GKNavigationController
- GKWrapViewController
- GKWrapNavigationController
- 你的VC1
... push
- <