-

类说明

CASwitch控件,它是开关控件,可以实现类型开关。


CASwitch 属性 (点击属性名可查看属性介绍)

属性说明
Onswitch是否处于开状态 
TouchClickswitch是否处于触摸点击事件
OnImage获取开状态的图像
OffImage获取关状态的图像
ThumbTintImage获取Switch的图像


CASwitch 方法 (点击方法名可查看方法介绍)

方法说明 
setOnImageswitch开状态时的图像
setOffImageswitch关状态时的图像
setThumbTintImageswitch的图像
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 属性介绍

On();

类型:bool

解释:查看是否处于开状态 。is{}。


TouchClick();

类型:bool

解释:查看是否处于触摸点击事件。is{}。


OnImage

类型:CAImage*

解释:获取开状态的图像。get{}。


OffImage

类型:CAImage*

解释:获取关状态的图像。get{}。


ThumbTintImage

类型:CAImage*

解释:获取Switch的图像。get{}。


CASwitch 方法介绍

void setOnImage(CAImage* onImage) 

返回值:void

参数:

类型参数名说明
CAImage*onImage开状态时的图像

解释:设置开状态时的图像


void setOffImage(CAImge* offImage)

返回值:void

参数:

类型参数名说明
CAImge*offImage关状态时的图像

解释:设置关状态时的图像


void setThumTintImage(CAImage* thumbTintImage)      

返回值:void

参数:

类型参数名说明
CAImage*thumbTintImageSwitch的背景图像

解释:设置Switch的背景图像


void setIsOn(bool on, bool animated);

返回值:void

参数:

类型参数名说明
boolon是否处于开状态
boolanimated是否添加动画

解释:设置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_CAControlselector函数回调器

解释:添加回调事件


void removeTarget(CAObject* target, SEL_CAControl selector);

返回值:void

参数:

类型参数名说明
CAObject*target当前对象 
SEL_CAControlselector函数回调器

解释:删除回调事件


bool initWithFrame(const DRect& rect);

返回值:bool

参数:

类型参数名说明
const DRect&rect区域大小

解释:初始化,并指定其Frame


bool initWithCenter(const DRect& rect);

返回值:

参数:

类型参数名说明
const DRect&rect中心点的位置及大小

解释:初始化,并指定其Center