类说明
视图管理器的派生类,CATabBarController作为一个特殊的视图管理器,负责协调多个视图管理器之间的工作,是对视图管理器的一种特殊封装。通常当你的程序需要使用一些平行的界面,这里说的平行界面就是程序中的某些功能界面是处于平级的,这些功能界面可以相互切换,tabBarController就很适合这种情况。
基类
CAViewController,CATabBarDelegate,CAPageViewDelegate,CAScrollViewDelegate
CATabBarController 属性(点击查看方法介绍)
| 属性 | 说明 |
| ScrollEnabled | TabBar可以滑动切换 |
| TabBarHidden | 查看TabBar是否隐藏 |
| TabBarVerticalAlignment | TabBar对齐方式 |
| TabBarBackGroundImage | TabBar的背景图像 |
| TabBarBackGroundColor | TabBar的背景颜色 |
| TabBarSelectedBackGroundImage | TabBar选择状态下背景的图像 |
| TabBarSelectedBackGroundColor | TabBar选择状态下背景的颜色 |
| TabBarSelectedIndicatorImage | TabBar选择状态下的指标图像 |
| TabBarSelectedIndicatorColor | TabBar选择状态下的指标颜色 |
| TabBarTitleColorForNormal | TabBar标题为正常状态的颜色 |
| TabBarTitleColorForSelected | TabBar标题为选定状态的颜色 |
CATabBarController 方法(点击查看方法介绍)
| 方法 | 说明 |
| initWithViewControllers | 初始化CATabBar |
| showSelectedViewController | 设置当前被选中的viewController |
| getViewControllerAtIndex | 获取当前显示view的viewController的索引值 |
| getSelectedViewController | 获取当前选中的viewController |
| showSelectedViewControllerAtIndex | 根据索引值显示当前选中的viewController |
| getSelectedViewControllerAtIndex | 获取当前的被选中的viewController的索引值 |
| setTabBarHidden | TabBar显示或隐藏 |
| updateItem | 更新视图 |
| showTabBarSelectedIndicator | 显示刷新TabBar |
创建与初始化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | FirstViewController* first= new FirstViewController();first->init();first->setTabBarItem(CATabBarItem::create(UTF8("第一项"),CAImage::create(""),CAImage::create("")));SecondViewController* Second = new SecondViewController();Second->init();Second->setTabBarItem(CATabBarItem::create(UTF8("第二项"), CAImage::create(""), CAImage::create("")));ThirdViewController* Third = new ThirdViewController();Third->init();Third->setTabBarItem(CATabBarItem::create(UTF8("第三项"), CAImage::create(""), CAImage::create("")));//将多个ViewController放到CAVector进行管理CAVector<CAViewController*> vector;vector.pushBack(first);vector.pushBack(Second);vector.pushBack(Third);//创建TabBarCATabBarController* tab = new CATabBarController();//通过含有ViewControler的CAVector进行初始化tab->initWithViewControllers(vector);//设置可以滑动切换tab->setScrollEnabled(true);tab->showTabBarSelectedIndicator();this->setRootViewController(tab);//是否内存first->release();Second->release();Third->release();tab->release(); |
样式
可设置样式:文本、位置(上、下)、背景颜色、图片
CATabBarItem控制:文本、默认图片、选中图片
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //title:文本,image:默认背景图片,selectedImage:选中时背景图片static CATabBarItem* create(const std::string& title, CAImage* image, CAImage* selectedImage = NULL);CATabBarController控制:显示位置(初始时设置)、背景颜色、图片 //初始时设置显示位置在顶部 tab->initWithViewControllers(vector,CABarVerticalAlignmentTop); //是否隐藏TabBar tab->setTabBarHidden(false, false); //默认背景颜色 tab->setTabBarBackGroundColor(CAColor_orange); //默认背景图片 tab->setTabBarBackGroundImage(CAImage::create("source_material/btn_left_blue.png")); |
管理
主要是切换:
1 2 3 4 5 6 7 8 9 10 11 | /* *设置当前被选中的viewController *viewController:要设置选中的指针 */ bool showSelectedViewController(CAViewController* viewController); /* *获取当前显示view的viewController的索引值 *index:索引位置(从0开始) */ CAViewController* getViewControllerAtIndex(unsigned int index); |
CATabBarController 属性
类型:bool
解释:TabBar可以滑动切换。is/set{}。
类型:bool
解释:查看TabBar是否隐藏。is{}。
类型:CABarVerticalAlignment
解释:TabBar对齐方式。get{}。
类型:CAImage*
解释:TabBar的背景图像。set/get{}。
类型:CAColor4B
解释:TabBar的背景颜色。set/get{}。
类型:CAImage*
解释:TabBar选择状态下背景的图像。set/get{}。
类型:CAColor4B
解释:TabBar选择状态下背景的颜色。set/get{}。
类型:CAImage*
解释:TabBar选择状态下指标的图像。set/get{}。
类型:CAColor4B
解释:TabBar选择状态下指标的颜色。set/get{}。
类型:CAColor4B
解释:TabBar标题为正常的颜色。set/get{}。
类型:CAColor4B
解释:TabBar标题为选定的颜色。set/get{}。
CATabBarController 方法
virtual bool initWithViewControllers(const CAVector<CAViewController*>& viewControllers,CABarVerticalAlignment var = CABarVerticalAlignmentBottom);
返回值:bool
参数:
| 类型 | 参数名 | 说明 |
| CAVector<CAViewController*>& | viewControllers | 含有CAViewController的数组 |
| CABarVerticalAlignment | var = CABarVerticalAlignmentBottom | 切换条位置(上部,下部) |
解释:初始化CATabBar
bool showSelectedViewController(CAViewController* viewController);
返回值:bool
参数:
| 类型 | 参数名 | 说明 |
| CAViewController* | viewController | 要设置选中的指针 |
解释:设置当前被选中的viewController
CAViewController* getViewControllerAtIndex(unsigned int index);
返回值:CAViewController*
参数:
| 类型 | 参数名 | 说明 |
| unsigned int | index | 索引位置(从0开始) |
解释:获取当前显示view的viewController的索引值
CAViewController* getSelectedViewController();
返回值:CAViewController*
参数:
解释:获取当前选中的viewController
virtual bool showSelectedViewControllerAtIndex(unsigned int index);
返回值:bool
参数:
| 类型 | 参数名 | 说明 |
| unsigned int | index | 索引位置(从0开始) |
解释:根据索引值显示当前选中的viewController
virtual unsigned int getSelectedViewControllerAtIndex();
返回值:unsigned int
参数:
解释:获取当前的被选中的viewController的索引值
virtual void setTabBarHidden(bool hidden, bool animated);
返回值:void
参数:
| 类型 | 参数名 | 说明 |
| bool | hidden | 是否隐藏(默认false) |
| bool | animated | 是否开启动画效果 |
解释:TabBar的显示与隐藏
void updateItem(CAViewController* viewController);
返回值:void
参数:
| 类型 | 参数名 | 说明 |
| CAViewController* | viewController | 需要更新的视图管理器 |
解释:更新视图
void showTabBarSelectedIndicator();
返回值:void
参数:
解释:显示刷新TabBar