请选择 进入手机版 | 继续访问电脑版
查看: 691|回复: 0

CrossApp 系列教程七

[复制链接]
匿名  发表于 2014-5-21 15:59:40 |阅读模式

基类:

CAViewController,CATabBarDelegate

类说明:

       从它的基类可以看出,作为CAViewController的派生类,CATabBarController能够起到视图管理器的作用,同时作为CATabBarDelegate的派生类,也能实现tabBar的相关功能。

CATabBarController作为一个特殊的viewController,主要是为了负责协调多个viewController之间的工作,是对viewController的一种特殊封装。通常当你的程序需要使用一些平行的界面(就是程序中的一些界面是处于平级的),则tabBarController是非常有效的。而在程序中,我们通常也是使用tabBarController来作为整个程序的rootViewController。

主要函数:

/*传入一组CAViewController*类型的视图管理器用于构建CATabBarController*/
bool initWithViewControllers(const std::vector& viewControllers)
 
/*设置当前选中的viewController,同时更新selectedIndex。当animated为ture时,播放切换动画。*/
bool showSelectedViewController(CAViewController* viewController, bool animated)
 
/*获取当前显示的viewController*/
CAViewController* getSelectedViewController()
 
/*设置selectedIndex,更新选中的viewController的。animated为ture时,播放切换动画。*/
bool showSelectedViewControllerAtIndex(unsigned int index, bool animated)
 
/*获取当前显示的viewController的selectedIndex*/
unsigned int getSelectedViewControllerAtIndex()

使用示例:

//通过如下方式分别创建5个viewController,viewController1、
viewController2…viewController5
FirstController* viewController1 = new FirstController();
viewController1->init();
viewController1->setTabBarItem(CATabBarItem::create("First", CAImage::create("h.png"), FIR_ITEM));
viewController1->setTitle("view1");
 
       //然后将这5个viewController添加进数组views
vector views;
views.push_back(viewController1);
views.push_back(viewController2);
views.push_back(viewController3);
views.push_back(viewController4);
views.push_back(viewController5);
 
//最后通过tabBarController的方式来管理这些相互平行的viewController
CATabBarController* tabBarController = new CATabBarController();
tabBarController->initWithViewControllers(views);
tabBarController->getTabBar()->showSelectedIndicator();
_window->setRootViewController(tabBarController);

运行效果:



您需要登录后才可以回帖 登录 | 注册

本版积分规则

推荐阅读 More>

© 2001-2015 9秒社团

合作伙伴

公司简介 | 联系方式
COPYRIGHT©2015 ZHONGQINGLONGTU NETWORK CO.LTD ALL RIGHTS RESERVED.ICP备11023195号-4
北京中清龙图网络技术有限公司
返回顶部 返回列表