类说明
CASwitch控件,它是开关控件,可以实现类型开关。
CASwitch 属性 (点击属性名可查看属性介绍)
| 属性 | 说明 | 
| On | switch是否处于开状态 | 
| TouchClick | switch是否处于触摸点击事件 | 
| OnImage | 获取开状态的图像 | 
| OffImage | 获取关状态的图像 | 
| ThumbTintImage | 获取Switch的图像 | 
CASwitch 方法 (点击方法名可查看方法介绍)
| 方法 | 说明 | 
| setOnImage | switch开状态时的图像 | 
| setOffImage | switch关状态时的图像 | 
| setThumbTintImage | switch的图像 | 
| setIsOn | 设置switch处于开状态 | 
| createWithFrame | 创建,并指定其Frame | 
| createWithCenter | 创建,并指定其Center | 
| addTarget | 添加回调事件 | 
| removeTarget | 删除回调事件 | 
| initWithFrame | 初始化,并指定其Frame | 
| initWithCenter | 初始化,并指定其Center | 
        
CASwitch使用起来也非常简单,我们看一下实例代码:
首先在.h文件添加CASwitch的监听函数
//CASwitch状态回调
    void callback(CAControl* control, CCPoint point);
然后在cpp文件中添加一下代码:
void FirstViewController::viewDidLoad()
{
    // Do any additional setup after loading the view from its nib.
    DSize size = this->getView()->getBounds().size;
     
    //创建
    CASwitch* defaultSwitch = CASwitch::createWithCenter(DRect(size.width*0.5, size.height*0.2, size.width*0.3, 20));
     
    //设置tag
    defaultSwitch->setTag(100);
     
    //设置监听函数
    defaultSwitch->addTarget(this, CAControl_selector(FirstViewController::callback));
     
    //添加绘制
    this->getView()->addSubview(defaultSwitch);
     
    //创建
    CASwitch* customSwitch = CASwitch::createWithCenter(DRect(size.width*0.5, size.height*0.4, size.width*0.3, 20));
     
    //设置tag
    customSwitch->setTag(101);
     
    //设置开启时图片
    customSwitch->setOnImage(CAImage::create("source_material/btn_rounded_highlighted.png"));
     
    //设置关闭时图片
    customSwitch->setOffImage(CAImage::create("source_material/btn_rounded_normal.png"));
     
    //设置中间图片
    customSwitch->setThumbTintImage(CAImage::create("source_material/btn_rounded3D_selected.png"));
     
    //设置监听函数
    customSwitch->addTarget(this, CAControl_selector(FirstViewController::callback));
     
    //添加绘制
    this->getView()->addSubview(customSwitch);
}
监听函数内容如下:
void FirstViewController::callback(CAControl* control, DPoint point)
{
    CCLog("callback");
     
    //强转类型
    CASwitch* caSwtich = (CASwitch*)control;
     
    //获得tag
    CCLog("Tag:%d", caSwtich->getTag());
     
    //获得状态
    if (!caSwtich->isOn())
    {
        CCLog("OFF");
    }
    else
    {
        CCLog("ON");
    }
}
CASwitch 属性介绍
类型:bool
解释:查看是否处于开状态 。is{}。
类型:bool
解释:查看是否处于触摸点击事件。is{}。
类型:CAImage*
解释:获取开状态的图像。get{}。
类型:CAImage*
解释:获取关状态的图像。get{}。
类型:CAImage*
解释:获取Switch的图像。get{}。
CASwitch 方法介绍
void setOnImage(CAImage* onImage)
返回值:void
参数:
| 类型 | 参数名 | 说明 | 
| CAImage* | onImage | 开状态时的图像 | 
解释:设置开状态时的图像
void setOffImage(CAImge* offImage)
返回值:void
参数:
| 类型 | 参数名 | 说明 | 
| CAImge* | offImage | 关状态时的图像 | 
解释:设置关状态时的图像
void setThumTintImage(CAImage* thumbTintImage)
返回值:void
参数:
| 类型 | 参数名 | 说明 | 
| CAImage* | thumbTintImage | Switch的背景图像 | 
解释:设置Switch的背景图像
void setIsOn(bool on, bool animated);
返回值:void
参数:
| 类型 | 参数名 | 说明 | 
| bool | on | 是否处于开状态 | 
| bool | animated | 是否添加动画 | 
解释:设置switch处于开状态
static CASwitch* createWithFrame(const DRect& rect);
返回值:static CASwitch*
参数:
| 类型 | 参数名 | 说明 | 
| const DRect& | rect | 区域大小 | 
解释:创建,并指定其Frame
static CASwitch* createWithCenter(const DRect& rect);
返回值:static CASwitch*
参数:
| 类型 | 参数名 | 说明 | 
| const DRect& | rect | 中心点的位置及大小 | 
解释:创建,并指定其Center
void addTarget(CAObject* target, SEL_CAControl selector);
返回值:void
参数:
| 类型 | 参数名 | 说明 | 
| CAObject* | target | 当前对象 | 
| SEL_CAControl | selector | 函数回调器 | 
解释:添加回调事件
void removeTarget(CAObject* target, SEL_CAControl selector);
返回值:void
参数:
| 类型 | 参数名 | 说明 | 
| CAObject* | target | 当前对象 | 
| SEL_CAControl | selector | 函数回调器 | 
解释:删除回调事件
bool initWithFrame(const DRect& rect);
返回值:bool
参数:
| 类型 | 参数名 | 说明 | 
| const DRect& | rect | 区域大小 | 
解释:初始化,并指定其Frame
bool initWithCenter(const DRect& rect);
返回值:
参数:
| 类型 | 参数名 | 说明 | 
| const DRect& | rect | 中心点的位置及大小 | 
解释:初始化,并指定其Center