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 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
返回值:bool
参数:
类型 | 参数名 | 说明 |
CAVector |
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