-

类说明

视图管理器的派生类,CATabBarController作为一个特殊的视图管理器,负责协调多个视图管理器之间的工作,是对视图管理器的一种特殊封装。通常当你的程序需要使用一些平行的界面,这里说的平行界面就是程序中的某些功能界面是处于平级的,这些功能界面可以相互切换,tabBarController就很适合这种情况。


基类

CAViewController,CATabBarDelegate,CAPageViewDelegate,CAScrollViewDelegate


CATabBarController 属性点击查看方法介绍)

属性说明
ScrollEnabledTabBar可以滑动切换
TabBarHidden查看TabBar是否隐藏
TabBarVerticalAlignmentTabBar对齐方式
TabBarBackGroundImageTabBar的背景图像
TabBarBackGroundColorTabBar的背景颜色
TabBarSelectedBackGroundImageTabBar选择状态下背景的图像
TabBarSelectedBackGroundColorTabBar选择状态下背景的颜色
TabBarSelectedIndicatorImageTabBar选择状态下的指标图像
TabBarSelectedIndicatorColorTabBar选择状态下的指标颜色
TabBarTitleColorForNormalTabBar标题为正常状态的颜色
TabBarTitleColorForSelectedTabBar标题为选定状态的颜色


CATabBarController 方法点击查看方法介绍)

方法说明
initWithViewControllers初始化CATabBar
showSelectedViewController设置当前被选中的viewController
getViewControllerAtIndex获取当前显示view的viewController的索引值
getSelectedViewController获取当前选中的viewController
showSelectedViewControllerAtIndex根据索引值显示当前选中的viewController
getSelectedViewControllerAtIndex获取当前的被选中的viewController的索引值
setTabBarHiddenTabBar显示或隐藏
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(falsefalse);
     
    //默认背景颜色
    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 属性

ScrollEnabled

类型:bool

解释:TabBar可以滑动切换。is/set{}。

    

TabBarHidden

类型:bool

解释:查看TabBar是否隐藏。is{}。


TabBarVerticalAlignment

类型:CABarVerticalAlignment

解释:TabBar对齐方式。get{}。


TabBarBackGroundImage

类型:CAImage*

解释:TabBar的背景图像。set/get{}。


TabBarBackGroundColor

类型:CAColor4B

解释:TabBar的背景颜色。set/get{}。


TabBarSelectedBackGroundImage

类型:CAImage*

解释:TabBar选择状态下背景的图像。set/get{}。


TabBarSelectedBackGroundColor

类型:CAColor4B

解释:TabBar选择状态下背景的颜色set/get{}。


TabBarSelectedIndicatorImage

类型:CAImage*

解释:TabBar选择状态下指标的图像。set/get{}。


TabBarSelectedIndicatorColor

类型:CAColor4B

解释:TabBar选择状态下指标的颜色set/get{}。


TabBarTitleColorForNormal

类型:CAColor4B

解释:TabBar标题为正常的颜色。set/get{}。


TabBarTitleColorForSelected

类型:CAColor4B

解释:TabBar标题为选定的颜色。set/get{}。


CATabBarController 方法

virtual bool initWithViewControllers(const CAVector<CAViewController*>& viewControllers,CABarVerticalAlignment var = CABarVerticalAlignmentBottom);

返回值:bool

参数:

类型参数名说明
CAVector<CAViewController*>&viewControllers含有CAViewController的数组
CABarVerticalAlignmentvar = CABarVerticalAlignmentBottom切换条位置(上部,下部)

解释:初始化CATabBar


       

bool showSelectedViewController(CAViewController* viewController);

返回值:bool

参数:

类型参数名说明
CAViewController*viewController要设置选中的指针

解释:设置当前被选中的viewController


CAViewController* getViewControllerAtIndex(unsigned int index);

返回值:CAViewController*

参数:

类型参数名说明
unsigned intindex索引位置(从0开始)

解释:获取当前显示view的viewController的索引值


CAViewController* getSelectedViewController();

返回值:CAViewController*

参数:

解释:获取当前选中的viewController


virtual bool showSelectedViewControllerAtIndex(unsigned int index);

返回值:bool

参数:

类型参数名说明
unsigned intindex索引位置(从0开始)

解释:根据索引值显示当前选中的viewController


virtual unsigned int getSelectedViewControllerAtIndex();

返回值:unsigned int

参数:

解释:获取当前的被选中的viewController的索引值


virtual void setTabBarHidden(bool hidden, bool animated);

返回值:void

参数:

类型参数名说明
boolhidden是否隐藏(默认false)
boolanimated是否开启动画效果

解释:TabBar的显示与隐藏


void updateItem(CAViewController* viewController);

返回值:void

参数:

类型参数名说明
CAViewController*viewController需要更新的视图管理器

解释:更新视图


void showTabBarSelectedIndicator();

返回值:void

参数:

解释:显示刷新TabBar