[寒江孤叶丶的CrossApp之旅_08][入门系列]CASegmentedControl的简...

问题描述

CASegmentedControl的简单介绍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 = ""; char segHighlighted = ""; char segSelected = ""; char pages = ""; 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 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();

时间: 2024-08-31 23:47:19

[寒江孤叶丶的CrossApp之旅_08][入门系列]CASegmentedControl的简...的相关文章

[寒江孤叶丶的CrossApp之旅_05][入门系列]CrossApp如何创建一个...

问题描述 CrossApp如何创建一个新的window(窗口) CrossApp是基于MVC模式开发的,每一个view和model都是**的,而两者之间由controller作为桥梁连接到一起.所以在创建一个新窗口的时候需要创建两个类,一个作为view 一个作为controller. 本文中,view起名为:MainMenuWindow controller类名为:MainMenuViewController 首先,MainMenuWindow 需要两个初始化方法,一个是作为工厂方法的Creat

[寒江孤叶丶的CrossApp之旅_11][入门系列]通过Demo学习CrossApp...

问题描述 通过Demo学习CrossApp之SecondViewController篇本文章是我在读Demo时候随手写的注释,分享出来供大家交流探讨.如有不对之处欢迎指出!SecondViewController.h#ifndef _Second_ViewController_h_ #define _Second_ViewController_h_ #include #include "CrossApp.h" #include "CrossAppExt.h" #in

[寒江孤叶丶的CrossApp之旅_06][入门系列]CrossApp控件之Label标...

问题描述 CrossApp控件之Label标签.什么是AnchorPoint锚点CALabel是CrossApp中的标签控件,可以用的地方很多,作为一些提示出现很不错,CALabel共有六种对齐方式,(居上,居中,居下),(局左,居右,居中)这两种需要分开设置.亦可设置锚点的信息.对于没有没有学习过Cocos2d-x的朋友,锚点理解起来可能有些问题,锚点是View(Node)的中心点,在设置View坐标时候,锚点会对齐所设置的坐标.缩放以及旋转也都是以锚点为中心执行的.锚点的设置是从0-1的 也

[寒江孤叶丶的CrossApp之旅_10][入门系列]CrossApp中CATextField的...

问题描述 CrossApp中CATextField的使用CATextField是CrossApp中用于接收用户输入的控件auto textField = CATextField::createWithCenter(CADipRect(size.width*0.5, size.height*0.7, size.width*0.6, size.height*0.05)); textField->setBackgroundView(CAScale9ImageView::createWithImage(

[寒江孤叶丶的CrossApp之旅_07][入门系列]CrossApp中信息框CAAler...

问题描述 CrossApp中信息框CAAlertView的使用 **的API文档,对于CAAlertView的介绍存在着一些不准确的地方.(也许是我说的不准确,欢迎纠正)下面简单介绍一下CAAlertView的使用.CAAlertView中主要由三部分组成,Title,Message 以及Button.对应这三个部分,有分别设置他们属性的函数.Title部分:void setTitle(std::string var,CAColor4B col = CAColor_black);设置标题文字,以

[寒江孤叶丶的CrossApp之旅_09][入门系列]CrossApp中CAButton的使用

问题描述 CrossApp中CAButton的使用CAButton在CrossApp的应用程序开发过程中,使用的非常频繁,很多控件也是以他为基础的,比如之前介绍的CAAlertView.CAButton有四种创建方法:CAButton::create( const CAButtonType &buttonType)CAButton::createWithCenter(const CrossApp::CCRect &rect, const CAButtonType &buttonTy

[寒江孤叶丶的CrossApp之旅_01]CrossApp在MAC下的环境搭建

问题描述 MAC下的环境搭建和设置要比Windows简单的多.所以第一篇首先尝试搭建一下MAC下的环境.过会儿去琢磨Windows的去=.=首先,要先下载CrossApp的工程,下载地址自然是9秒社区了传送门其次,下载Android所必备的adt-bundle-mac android-ndk-r9c (根据Cocos2d-x的经验,android-ndk必须使用r9c,好像10会出现一些错误.不知道CrossApp如何)由于MAC系统集成了java和python的环境,所以不需要对java和py

[寒江孤叶丶的CrossApp之旅_03]CrossApp编译错误There is no SDK with...

问题描述 CrossApp编译错误There is no SDK with the name or pathCrossApp编译错误There is no SDK with the name or path的解决办法.有些用户在编译CrossApp创建的工程时候,会遇到找不到SDK的错误.error: There is no SDK with the name or path '/Users/archer/Desktop/CrossApp-0.3.5/CrossApp/proj.mac/maco

《我的WCF之旅》博文系列汇总

WCF是构建和运行互联系统的一系列技术的总称,它是建立在Web Service架构上的一个全新的通信平台.你可以把它看成是.NET平台上的新一代的Web Service.WCF为我们提供了安全.可靠的的消息通信,也为我们提供了更好的可互操作性是的我们可以和其他的平台进行"交流". 微软斥巨资打造WCF,在我们看来主要出于下面两个目的:实现其对现有的分布式技术的整合以及顺应SOA的浪潮.在WCF之前,微软已经为了提供了一套完整的基于分布式的技术和产品,这些技术和产品使我们构建一个基于于分