Categories: CrossApp 教程

CAStepper(步进控件)

类说明

CAStepper是步进控件,它的作用和CASlider非常类似,只是CAStepper的改变的固定值,它包括左右两部分,左部为减少,右部为增加。


CAStepper 属性(点击查看方法介绍)

属性 说明
Continuous 设置连续
AutoRepeat 设置自动重复
Wraps 设置是否可在最大值和最小值循环
Value 设定值
MinValue 设定最小值
MaxValue 设定最大值
StepValue 设置步进值
TouchEffect 设置接触效应

CAStepper 方法(点击查看方法介绍)

方法 说明
create 创建,默认Frame为(0,0,0,0)
createWithFrame 创建,并指定其Frame,默认Frame为(0,0,0,0)
createWithCenter 创建,并指定其Center,默认Center为(0,0,0,0)
setBackgroundImage 设置背景图像
getBackgroundImageForState 获取背景图像
setIncrementImage 设置右部增加部分的背景
getIncrementImageForState 获取右部增加部分的背景
setDecrementImage 设置左部减少部分的背景
getDecrementImageForState 获取左部减少部分的背景
addTarget 添加回调事件
removeTarget 删除回调事件
removeAllTargets 删除所有回调事件
init 初始化
initWithFrame 初始化,并指定其Frame
initWithCenter 初始化,并指定其Center
onEnter 输入
onExit 退出
visit 访问
setDividerColor 设置分频器颜色
getDividerColor 获取分频器颜色
setTailorImageAtIndex 设置索引裁剪图像
getTailorImageAtIndex 获取索引截取图像

我们尝试这用CAStepper去控制一张图片的旋转,每次旋转30度。
同样我们首先要在FirstViewController.h中添加一个监听函数,来监听CAStepper的值的变化。

//监听函数
    void stepperValueChange(CAControl* control, DPoint point);

然后我们在FirstViewController.cpp添加CAStepper控件并为其绑定监听。

void FirstViewController::viewDidLoad()
{
    // Do any additional setup after loading the view from its nib.
    DRect winRect = this->getView()->getBounds();
    DSize size = winRect.size;
     
    //创建CAImageView用于选择
    CAImageView* imageView = CAImageView::createWithImage(CAImage::create("HelloWorld.png"));
    imageView->setFrame(winRect);
    imageView->setTag(1);
    this->getView()->addSubview(imageView);
    CAStepper* stepper = CAStepper::createWithCenter(DRect(size.width * 0.5, size.height * 0.6, 200, 200));
     
    //最大值
    stepper->setMaxValue(360);
     
    //最小值
    stepper->setMinValue(0);
     
    //每此变化值(步进值)
    stepper->setStepValue(30);
     
    //设置监听
    stepper->addTarget(this, CAControl_selector(FirstViewController::stepperValueChange));
     
    //是否开启触摸特效
    stepper->setTouchEffect(true);
     
    //释放开车长按效果(flase必须一次一次按,true可以按着不懂变化。默认为true)测试无效
    stepper->setAutoRepeat(true);
     
    //设置是否可在最大值和最小值循环(当增长到最大值时,再点增大则变成最小值。最小值再减少变成最大值)
    stepper->setWraps(true);
     
    //添加到屏幕
    this->getView()->addSubview(stepper);
}

void FirstViewController::stepperValueChange(CAControl* control, DPoint point)
{
    //获得stepper对象
    CAStepper* stepper = (CAStepper*)control;
     
    //根据tag获得imageView
    CAImageView* imageView = (CAImageView*)this->getView()->getSubviewByTag(1);
     
    //获得stepper的当前值
    float zoomValue = stepper->getValue();
     
    //设置旋转角度
    imageView->setRotation(zoomValue);
}

这样我们就可以通过增减CAStepper的值来控制CAImageView的旋转角度了。

CAStepper 属性说明

Continuous

类型:bool

解释:设置连续,set/get{}。

AutoRepeat

类型:bool

解释:设置自动重复,set/get{}。

Wraps

类型:bool

解释:设置是否可在最大值和最小值循环set/get{}。

Value

类型:double

解释:设定值,set/get{}。

MinValue

类型:double

解释:设定最小值,set/get{}。

MaxValue

类型:double

解释:设定最大值。set/get{}。

StepValue

类型:double

解释:设置步进值。set/get{}。

TouchEffect

类型:bool

解释:设置接触效应,set/get{}。

CAStepper 方法说明

static CAStepper* create();

返回值:static CAStepper

参数:

解释:创建,默认Frame为(0,0,0,0)

static CAStepper* createWithFrame(const CCRect& rect);

返回值:static CAStepper

参数:

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

解释:创建,并指定其Frame,默认Frame为(0,0,0,0)

static CAStepper* createWithCenter(const CCRect& rect);

返回值:static CAStepper

参数:

类型
参数名 说明
CCRect rect 中心点的位置及

解释:创建,并指定其Center,默认Center为(0,0,0,0)

void setBackgroundImage(CAImage* image, CAControlState state);

返回值:void

参数:

类型
参数名 说明
CAImage* image 图像
CAControlState state 控制状态

解释:设置背景图像

CAImage* getBackgroundImageForState(CAControlState state);

返回值:CAImage*

参数:

类型
参数名 说明
CAControlState state 控制状态

解释:获取背景图像

void setIncrementImage(CAImage* image, CAControlState state);

返回值:void

参数:

类型
参数名 说明
CAImage* image 图像
CAControlState state 控制状态

解释:设置右部增加部分的背景 

CAImage* getIncrementImageForState(CAControlState state);

返回值:CAImage*

参数:

类型
参数名 说明
CAControlState state 控制状态

解释:获取右部增加部分的背景 

void setDecrementImage(CAImage* image, CAControlState state);

返回值:void

参数:

类型
参数名 说明
CAImage* image 图像
CAControlState state 控制状态

解释:设置左部减少部分的背景

CAImage* getDecrementImageForState(CAControlState state);

返回值:CAImage*

参数:

类型
参数名 说明
CAControlState state 控制状态

解释:获取左部减少部分的背景

virtual void addTarget(CAObject* target, SEL_CAControl selector);

返回值:virtual void

参数:

类型 参数名 说明
CAObject* target 目标
SEL_CAControl selector 选择器

解释:添加回调事件


virtual void removeTarget(CAObject* target, SEL_CAControl selector);

返回值:virtual void

参数:

类型 参数名 说明
CAObject* target 目标
SEL_CAControl selector 选择器

解释:删除回调事件

virtual void removeAllTargets();

返回值:virtual void

参数:

解释:删除所有回调事件

virtual bool init();

返回值:virtual bool

参数:

解释:初始化

virtual bool initWithFrame(const DRect& rect);

返回值:virtual bool

参数:

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

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

virtual bool initWithCenter(const DRect& rect);

返回值:virtual bool

参数:

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

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

virtual void onEnter();

返回值:virtual void

参数:

解释:输入

virtual void onExit();

返回值:virtual void

参数:

解释:退出

virtual void visit();

返回值:virtual void

参数:

解释:访问

void setDividerColor(CAColor4B color);

返回值:void

参数:

类型 参数名 说明
CAColor4B color 颜色

解释:设置分频器颜色

CAColor4B getDividerColor();

返回值:CAColor4B

参数:

解释:获取分频器颜色

void setTailorImageAtIndex(int index);

返回值:void

参数:

类型 参数名 说明
int index 索引

解释:设置索引裁剪图像

CAView* getTailorImageAtIndex(int index);

返回值:CAView*

参数:

类型 参数名 说明
int index 索引

解释:获取索引截取图像

      

andy

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

Share
Published by
andy

Recent Posts

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

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

3 天 ago

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

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

1 周 ago

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

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

2 周 ago

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

Vue3中手动清理keep-a…

2 周 ago

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

React 和 Vue 都是当…

3 周 ago