Categories: CrossApp 教程

CASwitch(开关控件)

类说明

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 属性介绍

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* 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

andy

前端小白,在Web176教程网这个平台跟大家一起学习,加油!

Share
Published by
andy

Recent Posts

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

4 天 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

2 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

2 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

2 周 ago

聊聊React和Vue组件更新的实现及区别

React 和 Vue 都是当…

3 周 ago