CATabBarController(标签栏控制器)
类说明
视图管理器的派生类,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); //创建TabBar CATabBarController* 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
更多建议: