一、当两个控制器互为父子关系的时候,它们的view一般也是互为父子关系
比如想添加A控制器的view到B控制器的view上,就应该让A控制器成为B控制器的子控制器,而B控制器就称为A控制器的父控制器
//[B addChildViewController:A];
// A就会存在于B的childViewControllers数组中
// A.parentViewController == B
//[B.view addSubview:A.view];
//A.view就会存在于B.view.subviews数组中
//A.view.superview == B.view
二、利用navigationController获得当前所在的导航控制器
如果当前控制器没有直接存在于一个导航控制器中,就会查找parentViewController(父控制器)所在的导航控制器
三、QQ底部Dock例子
步骤一:创建底部标签栏
步骤二:自定义按钮,设置内部UIImageView和UIlabel的位置
步骤三:抽出创建dockItem的方法
步骤四:监听按钮的点击事件
步骤五:监听按钮点击
步骤六:禁止高亮行为
步骤七:创建所有的控制器
步骤八:1.在dockitem点击事件中,移除旧控制器的视图,添加新控制器的视图
2.设置导航栏主题
3.给UINavigationItem添加分类