JSRUN 用代码说话

CAStepper(步进控件)

编辑教程

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 索引

解释:获取索引截取图像

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟