[寒江孤叶丶的CrossApp之旅_08][入门系列]CASegmentedControl的简单介绍
来源:互联网 发布:进口数据 编辑:程序博客网 时间:2024/06/13 23:09
原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的CrossApp之旅系列]
博客地址:http://blog.csdn.net/qq446569365
CASegmentedControl相当于Android中的TabView。在开发过程中十分常用。
CASegmentedControl使用起来并不负责,寥寥几行代码便可搞定。
segment = CASegmentedControl::createWithCenter(CADipRect(size.width*0.5,size.height*0.3, size.width*0.8, size.height*0.1), 3); segment->setTitleAtIndex("Page0", 0, CAControlStateAll);//根据index设置标题文字 segment->setTitleAtIndex("Page1", 1, CAControlStateAll); segment->setTitleAtIndex("Page2", 2, CAControlStateAll); segment->setTitleColorAtIndex(CAColor_white, 0, CAControlStateAll); //根据index设置颜色 segment->setTitleColorAtIndex(CAColor_gray, 1, CAControlStateAll); segment->setTitleColorAtIndex(CAColor_yellow, 2, CAControlStateAll); segment->setSelectedAtIndex(1); //设置当前选中项 segment->addTarget(this, CAControl_selector(MainMenuViewController::segmentCallback));//设置点击回调函数 this->getView()->addSubview(segment);并设置一个回调函数
void MainMenuViewController::segmentCallback(CAControl* btn, CCPoint point){ switch (segment->getselectedIndex()) { case 0: { label->setText("The first page");//替换为相关操作即可 break; } case 1: { label->setText("The second page"); break; } case 2: { label->setText("The third page"); break; } default: break; }}其中有一点需要说明,如果在会掉函数中 通过setTag 和getSubViewByTag的方式获得 View,会出现空指针的问题,(不知道是不是我的方法不对,希望高手解答),所以在此我的方法是将segment和label都设置为类的成员函数。
CASegmentedControl可以设置背景图案,方法如下:
char segNormal[50] = ""; char segHighlighted[50] = ""; char segSelected[50] = ""; char pages[10] = ""; segment = CASegmentedControl::createWithCenter(CADipRect(size.width*0.5,size.height*0.3, size.width*0.8, size.height*0.1), 3); for (int i = 0; i < 3; i++) { sprintf(segNormal,"source_material/seg_normal%d.png",i+1); sprintf(segHighlighted,"source_material/seg_highlighted%d.png",i+1); sprintf(segSelected,"source_material/seg_selected%d.png",i+1); sprintf(pages, "Number%d", i + 1); segment->setTitleAtIndex(pages, i, CAControlStateAll); segment->setBackgroundImageAtIndex(CAImage::create(segNormal), i, CAControlStateNormal); segment->setBackgroundImageAtIndex(CAImage::create(segHighlighted), i, CAControlStateHighlighted); segment->setBackgroundImageAtIndex(CAImage::create(segSelected), i, CAControlStateSelected); } segment->setTitleColorAtIndex(CAColor_white, 0, CAControlStateAll); //根据index设置颜色 segment->setTitleColorAtIndex(CAColor_gray, 1, CAControlStateAll); segment->setTitleColorAtIndex(CAColor_yellow, 2, CAControlStateAll); segment->setSelectedAtIndex(1); //设置当前选中项 segment->addTarget(this, CAControl_selector(MainMenuViewController::segmentCallback));//设置点击回调函数 this->getView()->addSubview(segment);在CASegmentedControl的类中有两个有关开始点击,和取消点击的虚函数,如果需要设置相关监听,则需要对CASegmentedControl类进行集成,然后重写这两个函数,这两个函数分别是:
virtual void onExitTransitionDidStart(); virtual void onEnterTransitionDidFinish();
0 0
- [寒江孤叶丶的CrossApp之旅_08][入门系列]CASegmentedControl的简单介绍
- [寒江孤叶丶的CrossApp之旅_11][入门系列]通过Demo学习CrossApp之SecondViewController篇
- [寒江孤叶丶的CrossApp之旅_04][入门系列]修改CrossApp默认打开的Window(窗口)
- [寒江孤叶丶的CrossApp之旅_05][入门系列]CrossApp如何创建一个新的window(窗口)
- [寒江孤叶丶的CrossApp之旅_07][入门系列]CrossApp中信息框CAAlertView的使用
- [寒江孤叶丶的CrossApp之旅_09][入门系列]CrossApp中CAButton的使用
- [寒江孤叶丶的CrossApp之旅_10][入门系列]CrossApp中CATextField的使用
- [寒江孤叶丶的CrossApp之旅_04][入门系列]修改CrossApp默认打开的Window(窗口)
- [寒江孤叶丶的CrossApp之旅_06][入门系列]CrossApp控件之Label标签。什么是AnchorPoint锚点
- [寒江孤叶丶的CrossApp之旅_01]CrossApp在MAC下的环境搭建
- [寒江孤叶丶的CrossApp之旅_02]CrossApp如何创建一个新的工程
- [寒江孤叶丶的CrossApp之旅_01]CrossApp在MAC下的环境搭建
- [寒江孤叶丶的CrossApp之旅_02]CrossApp如何创建一个新的工程
- [寒江孤叶丶的CrossApp之旅_03]CrossApp编译错误There is no SDK with the name or path
- [寒江孤叶丶的CrossApp之旅_03]CrossApp编译错误There is no SDK with the name or path
- [寒江孤叶丶的Cocos2d-x之旅_08]Cocos2d-x如何播放声音,如何添加背景音乐,如何播放音效?
- API入门系列之四 -相当简单的SDK程序
- 虚拟现实:UI: CrossApp的尝试
- 几个主流TCP/IP协议栈介绍
- MG网络技术运营
- 碰撞检测
- Java IO流
- LDAP分页查询
- [寒江孤叶丶的CrossApp之旅_08][入门系列]CASegmentedControl的简单介绍
- Oracle 12c及oracle sql developer登陆scott时都出现ORA-01017错误的解决方法
- 第一课(3)STM32_RCC
- ZOJ 3818 正则表达式
- JAVA设计模式--简单工厂模式
- CodeForces 433C Ryouko's Memory Note(暴力加中位数)
- 修改UIButton
- Java 4类8种基本数据类型都有相应的包装类
- Android多点触摸手势滑动的一种简单方法