iOS基础 - 控制器

时间:2021-09-17 08:18:39

一、当两个控制器互为父子关系的时候,它们的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添加分类