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 属性说明
类型: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 | 索引 |
解释:获取索引截取图像