iOS中Container View Controller的使用
本文主要讲述iOS开发中经常使用到的控件,那就是ViewController,在MVC模式中,controller的地位是举足轻重的,而这里主要讲解的是Container ViewController的主要用法。在开发中,我们也经常用到Container ViewController,例如:UINavigationController,UITabBarController,UISplitViewController等等。
在很多情况下,我们需要使用自定义的容器视图控制器,来管理一组视图控制器,自定义的容器视图控制器不仅能够实现和系统一样的功能,而且还能够添加自定义的特性。
- 为什么要使用容器视图控制器?
- 子视图控制器
- 视图层级
- 自定义容器视图控制器
- 总结
为什么要使用容器视图控制器?
我们之所以使用容器视图控制器,主要是因为视图控制器之间存在关联,有时候我们需要管理一组控制器,从而来管理视图层级结构,这样就使得视图结构更加清晰。
根视图控制器往往都是一组控制器的容器视图控制器,我们可以利用根视图控制器做很多全局的事情,例如:修改状态栏颜色,控制显示,隐藏当前控制器等等,因此,使用容器视图控制器,有很多便利的地方。
子视图控制器
有时候,我们需要在给控制器的view添加子view,然后显示子view,这时候我们通常会这样做:
[self.view addSubview:_containerVC.view];
但是只是将view添加到父view中,往往会存在很多弊端,因为view跟ViewController相比,没有像ViewController那样一套生命周期,
因此,仅仅将view添加到父view并不是一种好的方式,往往需要先添加控制器,然后添加view,例如:
//添加控制器
[self addChildViewController:_containerVC]