Categories: CrossApp 教程

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 属性

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的数组
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

andy

前端小白,在Web176教程网这个平台跟大家一起学习,加油!

Share
Published by
andy

Recent Posts

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

5 天 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

2 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

2 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

3 周 ago

聊聊React和Vue组件更新的实现及区别

React 和 Vue 都是当…

3 周 ago