UITabBarController
2017-09-11 本文已影响0人
LucXion
纯代码创建 UITabBarController : 和UINavigationController一样分为4个步骤 : 创建窗口,创建控制器,窗口绑定根控制器(属性rootViewController),窗口设置为主窗口
-
一、纯代码添加子控制器
方法一 :addChildViewController 这个方法专门用于UITabBarController 底部会根据添加子控制器的数量均分成按钮,最多添加5个
方法二 :直接给UITabBarController控制器的ViewControllers 属性添加数组 @[自控制器1,子控制器2];
设置按钮和文字 :要设置对应的按钮图片和文字,直接通过对应控制器的.tabBarItem.image / title 来设置
注意 : iOS7.0后系统自带渲染色(图片和文字选中中蓝色,不选中为灰色)默认渲染颜色
-
二、storyBoard的方式来创建 (手动添加):
UITabBarController - 右键 - ViewControllers - 连线子控制器
子控制器 : 下面的button对应可以在属性检查器中设置点击的图片,文字
缺陷 : 不能设置文字颜色 ,解决方案,遍历当前控件的子控件找到对应了lable,然后再设置
什么时候使用自定义tabBar : 如果最下方的按钮不是图片加lable类型的,就自定义 两步
// 设置View跟tabBar一样大
view.frame = self.tabBar.frame;
//添加到当前根控制器的View中,每个子控制器的底部都是一个根View,tabBar来源于根View
[self.view addSubview:view];
切换子控制器 :
//选中子控制器在 ViewControllers 数组中的下标与按钮的tag值一致
self.selectedIndex = sender.tag;
TabBar的封装 : 将代替TabBar的UIView封装
1.重写initWithFrame的构造方法 :
BUG
自定义TabBar ,替换的View必须添加在子控制器添加以后,不然新的按钮会覆盖到上面,层级wanting