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

[教程] [无脑码农CrossApp笔记]--标签视图CATabBarController

[复制链接]
最佳答案
0 
无脑码农 发表于 2015-9-24 10:22:16 | 显示全部楼层 |阅读模式
CATabBarController

版本:CrossApp 1.19.0

作者:无脑码农

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

属性
访问修饰符      类型                         名称
protected  bool                         m_bScrollEnabled
protected  bool                         m_bTabBarHidden
protected  CABarVerticalAlignment       m_eTabBarVerticalAlignment
protected  CAImage*                     m_pTabBarBackGroundImage
protected  CAImage*                     m_pTabBarSelectedBackGroundImage
protected  CAImage*                     m_pTabBarSelectedIndicatorImage
protected  CAColor4B                    m_sTabBarBackGroundColor
protected  CAColor4B                    m_sTabBarSelectedBackGroundColor
protected  CAColor4B                    m_sTabBarSelectedIndicatorColor
protected  CAColor4B                    m_sTabBarTitleColor
protected  CAColor4B                    m_sTabBarSelectedTitleColor
函数
  1. public:
  2.     /*
  3.     *初始CATabBar
  4.     *viewControllers:含有CAViewController的数组
  5.     *CABarVerticalAlignment:切换条位置(上部,下部)
  6.     */
  7. virtual bool initWithViewControllers(const CAVector<CAViewController*>& viewControllers,CABarVerticalAlignment var = CABarVerticalAlignmentBottom);

  8.     /*
  9.     *设置当前被选中的viewController
  10.     *viewController:要设置选中的指针
  11.     */
  12.     bool showSelectedViewController(CAViewController* viewController);

  13.     /*
  14.     *获取当前显示view的viewController的索引值
  15.     *index:索引位置(从0开始)
  16.     */
  17.     CAViewController* getViewControllerAtIndex(unsigned int index);
  18.     /*
  19.     *获取当前选中的viewController
  20.     */
  21.     CAViewController* getSelectedViewController();
  22.     /*
  23.     *根据索引值显示当前选中的viewController
  24.     *index:索引位置(从0开始)
  25.     */
  26.     virtual bool showSelectedViewControllerAtIndex(unsigned int index);
  27.     /*
  28.     *获取当前的被选中的viewController的索引值
  29.     */
  30.     virtual unsigned int getSelectedViewControllerAtIndex();
  31.     /*
  32.     *设置TabBar的隐藏与
  33.     *hidden:是否隐藏(默认false)
  34.     *animated:是否开启动画效果
  35.     */
  36.     virtual void setTabBarHidden(bool hidden, bool animated);
  37.     /*
  38.     *更新视图
  39.     *viewController:需要更新的视图管理器
  40.     */
  41.     void updateItem(CAViewController* viewController);
  42.     /*
  43.     *显示刷新TabBar
  44.     */
  45.     void showTabBarSelectedIndicator();
复制代码

创建与初始化

  1. FirstViewController* first= new FirstViewController();
  2. first->init();
  3. first->setTabBarItem(CATabBarItem::create(UTF8("第一项"),CAImage::create(""),CAImage::create("")));
  4. SecondViewController* Second = new SecondViewController();
  5. Second->init();
  6. Second->setTabBarItem(CATabBarItem::create(UTF8("第二项"), CAImage::create(""), CAImage::create("")));
  7. ThirdViewController* Third = new ThirdViewController();
  8. Third->init();
  9. Third->setTabBarItem(CATabBarItem::create(UTF8("第三项"), CAImage::create(""), CAImage::create("")));
  10. //将多个ViewController放到CAVector进行管理
  11. CAVector<CAViewController*> vector;
  12. vector.pushBack(first);
  13. vector.pushBack(Second);
  14. vector.pushBack(Third);
  15. //创建TabBar
  16. CATabBarController* tab = new CATabBarController();
  17. //通过含有ViewControler的CAVector进行初始化
  18. tab->initWithViewControllers(vector);
  19. //设置可以滑动切换
  20. tab->setScrollEnabled(true);
  21. tab->showTabBarSelectedIndicator();
  22. this->setRootViewController(tab);
  23. //是否内存
  24. first->release();
  25. Second->release();
  26. Third->release();
  27. tab->release();
复制代码


样式
可设置样式:文本、位置(上、下)、背景颜色、图片

CATabBarItem控制:文本、默认图片、选中图片


  1. //title:文本,image:默认背景图片,selectedImage:选中时背景图片
  2. static CATabBarItem* create(const std::string& title, CAImage* image, CAImage* selectedImage = NULL);
  3. CATabBarController控制:显示位置(初始时设置)、背景颜色、图片

  4.     //初始时设置显示位置在顶部
  5.     tab->initWithViewControllers(vector,CABarVerticalAlignmentTop);
  6.     //是否隐藏TabBar
  7.     tab->setTabBarHidden(false, false);
  8.     //默认背景颜色
  9.     tab->setTabBarBackGroundColor(CAColor_orange);
  10.     //默认背景图片
  11.     tab->setTabBarBackGroundImage(CAImage::create("source_material/btn_left_blue.png"));
复制代码

管理
主要是切换:

  
  1. /*
  2.     *设置当前被选中的viewController
  3.     *viewController:要设置选中的指针
  4.     */
  5.     bool showSelectedViewController(CAViewController* viewController);
  6.     /*
  7.     *获取当前显示view的viewController的索引值
  8.     *index:索引位置(从0开始)
  9.     */
  10.     CAViewController* getViewControllerAtIndex(unsigned int index);
复制代码
最佳答案
0 
Top0 发表于 2015-9-24 22:40:51 | 显示全部楼层
“无码脑弄”要继续给力哦
最佳答案
0 
苏苏冬瓜 发表于 2015-11-23 16:35:34 | 显示全部楼层
感觉还不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

推荐阅读 More>

© 2001-2015 9秒社团

合作伙伴

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