W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
類說明
CAStepper是步進(jìn)控件,它的作用和CASlider非常類似,只是CAStepper的改變的固定值,它包括左右兩部分,左部為減少,右部為增加。
CAStepper 屬性(點擊查看方法介紹)
屬性 | 說明 |
Continuous | 設(shè)置連續(xù) |
AutoRepeat | 設(shè)置自動重復(fù) |
Wraps | 設(shè)置是否可在最大值和最小值循環(huán) |
Value | 設(shè)定值 |
MinValue | 設(shè)定最小值 |
MaxValue | 設(shè)定最大值 |
StepValue | 設(shè)置步進(jìn)值 |
TouchEffect | 設(shè)置接觸效應(yīng) |
CAStepper 方法(點擊查看方法介紹)
方法 | 說明 |
create | 創(chuàng)建,默認(rèn)Frame為(0,0,0,0) |
createWithFrame | 創(chuàng)建,并指定其Frame,默認(rèn)Frame為(0,0,0,0) |
createWithCenter | 創(chuàng)建,并指定其Center,默認(rèn)Center為(0,0,0,0) |
setBackgroundImage | 設(shè)置背景圖像 |
getBackgroundImageForState | 獲取背景圖像 |
setIncrementImage | 設(shè)置右部增加部分的背景 |
getIncrementImageForState | 獲取右部增加部分的背景 |
setDecrementImage | 設(shè)置左部減少部分的背景 |
getDecrementImageForState | 獲取左部減少部分的背景 |
addTarget | 添加回調(diào)事件 |
removeTarget | 刪除回調(diào)事件 |
removeAllTargets | 刪除所有回調(diào)事件 |
init | 初始化 |
initWithFrame | 初始化,并指定其Frame |
initWithCenter | 初始化,并指定其Center |
onEnter | 輸入 |
onExit | 退出 |
visit | 訪問 |
setDividerColor | 設(shè)置分頻器顏色 |
getDividerColor | 獲取分頻器顏色 |
setTailorImageAtIndex | 設(shè)置索引裁剪圖像 |
getTailorImageAtIndex | 獲取索引截取圖像 |
我們嘗試這用CAStepper去控制一張圖片的旋轉(zhuǎn),每次旋轉(zhuǎn)30度。
同樣我們首先要在FirstViewController.h中添加一個監(jiān)聽函數(shù),來監(jiān)聽CAStepper的值的變化。
//監(jiān)聽函數(shù)
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;
//創(chuàng)建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);
//每此變化值(步進(jìn)值)
stepper->setStepValue(30);
//設(shè)置監(jiān)聽
stepper->addTarget(this, CAControl_selector(FirstViewController::stepperValueChange));
//是否開啟觸摸特效
stepper->setTouchEffect(true);
//釋放開車長按效果(flase必須一次一次按,true可以按著不懂變化。默認(rèn)為true)測試無效
stepper->setAutoRepeat(true);
//設(shè)置是否可在最大值和最小值循環(huán)(當(dāng)增長到最大值時,再點增大則變成最小值。最小值再減少變成最大值)
stepper->setWraps(true);
//添加到屏幕
this->getView()->addSubview(stepper);
}
void FirstViewController::stepperValueChange(CAControl* control, DPoint point)
{
//獲得stepper對象
CAStepper* stepper = (CAStepper*)control;
//根據(jù)tag獲得imageView
CAImageView* imageView = (CAImageView*)this->getView()->getSubviewByTag(1);
//獲得stepper的當(dāng)前值
float zoomValue = stepper->getValue();
//設(shè)置旋轉(zhuǎn)角度
imageView->setRotation(zoomValue);
}
這樣我們就可以通過增減CAStepper的值來控制CAImageView的旋轉(zhuǎn)角度了。
CAStepper 屬性說明
類型:bool
解釋:設(shè)置連續(xù),set/get{}。
類型:bool
解釋:設(shè)置自動重復(fù),set/get{}。
類型:bool
解釋:設(shè)置是否可在最大值和最小值循環(huán),set/get{}。
類型:double
解釋:設(shè)定值,set/get{}。
類型:double
解釋:設(shè)定最小值,set/get{}。
類型:double
解釋:設(shè)定最大值。set/get{}。
類型:double
解釋:設(shè)置步進(jìn)值。set/get{}。
類型:bool
解釋:設(shè)置接觸效應(yīng),set/get{}。
CAStepper 方法說明
返回值:static CAStepper
參數(shù):
解釋:創(chuàng)建,默認(rèn)Frame為(0,0,0,0)
static CAStepper* createWithFrame(const CCRect& rect);
返回值:static CAStepper
參數(shù):
類型 | 參數(shù)名 | 說明 |
CCRect& | rect | 區(qū)域大小 |
解釋:創(chuàng)建,并指定其Frame,默認(rèn)Frame為(0,0,0,0)
static CAStepper* createWithCenter(const CCRect& rect);
返回值:static CAStepper
參數(shù):
類型 | 參數(shù)名 | 說明 |
CCRect | rect | 中心點的位置及 |
解釋:創(chuàng)建,并指定其Center,默認(rèn)Center為(0,0,0,0)
void setBackgroundImage(CAImage* image, CAControlState state);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
CAImage* | image | 圖像 |
CAControlState | state | 控制狀態(tài) |
解釋:設(shè)置背景圖像
CAImage* getBackgroundImageForState(CAControlState state);
返回值:CAImage*
參數(shù):
類型 | 參數(shù)名 | 說明 |
CAControlState | state | 控制狀態(tài) |
解釋:獲取背景圖像
void setIncrementImage(CAImage* image, CAControlState state);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
CAImage* | image | 圖像 |
CAControlState | state | 控制狀態(tài) |
解釋:設(shè)置右部增加部分的背景
CAImage* getIncrementImageForState(CAControlState state);
返回值:CAImage*
參數(shù):
類型 | 參數(shù)名 | 說明 |
CAControlState | state | 控制狀態(tài) |
解釋:獲取右部增加部分的背景
void setDecrementImage(CAImage* image, CAControlState state);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
CAImage* | image | 圖像 |
CAControlState | state | 控制狀態(tài) |
解釋:設(shè)置左部減少部分的背景
CAImage* getDecrementImageForState(CAControlState state);
返回值:CAImage*
參數(shù):
類型 | 參數(shù)名 | 說明 |
CAControlState | state | 控制狀態(tài) |
解釋:獲取左部減少部分的背景
virtual void addTarget(CAObject* target, SEL_CAControl selector);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說明 |
CAObject* | target | 目標(biāo) |
SEL_CAControl | selector | 選擇器 |
解釋:添加回調(diào)事件
virtual void removeTarget(CAObject* target, SEL_CAControl selector);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說明 |
CAObject* | target | 目標(biāo) |
SEL_CAControl | selector | 選擇器 |
解釋:刪除回調(diào)事件
virtual void removeAllTargets();
返回值:virtual void
參數(shù):
解釋:刪除所有回調(diào)事件
返回值:virtual bool
參數(shù):
解釋:初始化
virtual bool initWithFrame(const DRect& rect);
返回值:virtual bool
參數(shù):
類型 | 參數(shù)名 | 說明 |
const DRect& | rect | 區(qū)域大小 |
解釋:初始化,并指定其Frame
virtual bool initWithCenter(const DRect& rect);
返回值:virtual bool
參數(shù):
類型 | 參數(shù)名 | 說明 |
const DRect& | rect | 中心點的位置及大小 |
解釋:初始化,并指定其Center
返回值:virtual void
參數(shù):
解釋:輸入
返回值:virtual void
參數(shù):
解釋:退出
返回值:virtual void
參數(shù):
解釋:訪問
void setDividerColor(CAColor4B color);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
CAColor4B | color | 顏色 |
解釋:設(shè)置分頻器顏色
返回值:CAColor4B
參數(shù):
解釋:獲取分頻器顏色
void setTailorImageAtIndex(int index);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說明 |
int | index | 索引 |
解釋:設(shè)置索引裁剪圖像
CAView* getTailorImageAtIndex(int index);
返回值:CAView*
參數(shù):
類型 | 參數(shù)名 | 說明 |
int | index | 索引 |
解釋:獲取索引截取圖像
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: