CATabBarController(标签栏控制器)

类说明

视图管理器的派生类,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

作者:andy,如若转载,请注明出处:https://www.web176.com/crossapp/10166.html

(0)
打赏 支付宝 支付宝 微信 微信
andy的头像andy
上一篇 2023年2月21日
下一篇 2023年2月21日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注