类说明
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);
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 属性说明
类型:bool
解释:设置连续,set/get{}。
类型:bool
解释:设置自动重复,set/get{}。
类型:bool
解释:设置是否可在最大值和最小值循环,set/get{}。
类型:double
解释:设定值,set/get{}。
类型:double
解释:设定最小值,set/get{}。
类型:double
解释:设定最大值。set/get{}。
类型:double
解释:设置步进值。set/get{}。
类型:bool
解释:设置接触效应,set/get{}。
CAStepper 方法说明
返回值: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
参数:
解释:初始化
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
参数:
解释:输入
返回值:virtual void
参数:
解释:退出
返回值:virtual void
参数:
解释:访问
void setDividerColor(CAColor4B color);
返回值:void
参数:
| 类型 | 参数名 | 说明 | 
| CAColor4B | color | 颜色 | 
解释:设置分频器颜色
返回值:CAColor4B
参数:
解释:获取分频器颜色
void setTailorImageAtIndex(int index);
返回值:void
参数:
| 类型 | 参数名 | 说明 | 
| int | index | 索引 | 
解释:设置索引裁剪图像
CAView* getTailorImageAtIndex(int index);
返回值:CAView*
参数:
| 类型 | 参数名 | 说明 | 
| int | index | 索引 | 
解释:获取索引截取图像