类说明
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