W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
類說(shuō)明
CASlider是滾動(dòng)條控件,主要作用是方便數(shù)值調(diào)節(jié),如音量大小控制、縮放視圖等操作。
CASlider 屬性(點(diǎn)擊查看方法介紹)
屬性 | 說(shuō)明 |
TouchClick | 觸摸點(diǎn)擊 |
Value | 值 |
MinValue | 最小值 |
MaxValue | 最大值 |
TrackHeight | 滾動(dòng)條高度 |
MinTrackTintImage | 設(shè)置前景圖片(已經(jīng)劃過(guò)的部分) |
MaxTrackTintImage | 設(shè)置后景圖片(未劃過(guò)的部分) |
ThumbTintImage | 滾動(dòng)塊的圖片 |
CASlider 方法(點(diǎn)擊查看方法介紹)
方法 | 說(shuō)明 |
createWithFrame | 創(chuàng)建,并指定其Frame,默認(rèn)Frame為(0,0,0,0) |
createWithCenter | 創(chuàng)建,并指定其Center,默認(rèn)Center為(0,0,0,0) |
addTarget | 添加回調(diào)事件 |
addTargetForTouchUpSide | 添加回調(diào)事件的觸摸 |
removeTarget | 刪除回調(diào)事件 |
setValue | 設(shè)定值 |
setMinValue | 設(shè)定最小值 |
setMaxValue | 設(shè)定最大值 |
setTrackHeight | 設(shè)置滾動(dòng)條高度 |
setMinTrackTintImage | 設(shè)置前景圖片(已經(jīng)劃過(guò)的部分) |
setMaxTrackTintImage | 設(shè)置后景圖片(未劃過(guò)的部分) |
setThumbTintImage | 設(shè)置滾動(dòng)塊的圖片 |
initWithFrame | 初始化r,并指定其Frame |
initWithCenter | 初始化,并指定其Center |
ccTouchBegan | 觸摸事件開(kāi)始時(shí)的回調(diào)函數(shù) |
ccTouchMoved | 觸摸事件中觸點(diǎn)移動(dòng)時(shí)的回調(diào)函數(shù) |
ccTouchEnded | 觸摸事件結(jié)束時(shí)的回調(diào)函數(shù) |
layoutSubViews | 子視圖布局 |
我們可以通過(guò)設(shè)置CASlider的最大值和最小值來(lái)確定其值的范圍,可以通過(guò)設(shè)置圖片改變滾動(dòng)條的樣子,我們這里就利用CASlider來(lái)控制一張圖片的縮放大小,來(lái)演示一下CASlider的使用方法:
首先我們?cè)贔irstViewController.h中添加一個(gè)監(jiān)聽(tīng)函數(shù),用于監(jiān)聽(tīng)CASlider的值的變化。
//監(jiān)聽(tīng)函數(shù)
void zoomViewBySliderValue(CAControl* control, DPoint point)
然后我們?cè)贔irstViewController.cpp中去實(shí)現(xiàn)CASlider來(lái)控制CAImageView的縮放變化。
void FirstViewController::viewDidLoad()
{
//獲得屏幕大小
CCSize size = this->getView()->getBounds().size;
//創(chuàng)建CAImageView
CAImageView* imageView = CAImageView::createWithImage(CAImage::create("HelloWorld.png"));
imageView->setCenter(DRect(size.width*0.5, size.height*0.5, 800, 1200));
//設(shè)置tag
imageView->setTag(1);
//添加
this->getView()->addSubview(imageView);
//創(chuàng)建CASlider
CASlider* slider = CASlider::createWithCenter(DRect(size.width*0.5, size.height*0.2, size.width*0.8, 20));
//綁定監(jiān)聽(tīng)
slider->addTarget(this, CAControl_selector(FirstViewController::zoomViewBySliderValue));
//添加
this->getView()->insertSubview(slider, 1);
//創(chuàng)建CALabel
CALabel* label = CALabel::createWithCenter(DRect(size.width*0.5, size.height*0.1, size.width*0.8, 40));
//設(shè)置文本
char temptext[40];
sprintf(temptext, "ScaleValue:%0.2f", slider->getValue());
label->setText(temptext);
//設(shè)置居中
label->setTextAlignment(CATextAlignmentCenter);
label->setVerticalTextAlignmet(CAVerticalTextAlignmentCenter);
//設(shè)置Tag
label->setTag(3);
this->getView()->addSubview(label);
}
void FirstViewController::zoomViewBySliderValue(CAControl* control, DPoint point)
{
//獲得silder對(duì)象
CASlider* slider = (CASlider*)control;
//獲得silder的當(dāng)前值
float zoomValue = slider->getValue();
//根據(jù)tag值獲得image
CAImageView* image = (CAImageView*)this->getView()->getSubviewByTag(1);
//設(shè)置image的縮放比
image->setScale(zoomValue);
//根據(jù)tag獲得CALabel
CALabel* label = (CALabel*)this->getView()->getSubviewByTag(3);
//設(shè)置文本
char temptext[40];
sprintf(temptext, "ScaleValue:%0.2f", slider->getValue());
label->setText(temptext);
}
我們通過(guò)addTarget來(lái)為CASlider綁定一個(gè)監(jiān)聽(tīng),我們又在監(jiān)聽(tīng)函數(shù)中,根據(jù)CASlider的變化來(lái)改變CAImageView的縮放值,同樣的原理我們也可以進(jìn)行其它數(shù)值的改變,大家舉一反三可以自己去嘗試一下。
CASlider 屬性說(shuō)明
類型:bool
解釋:觸摸點(diǎn)擊。is{}。
類型:float
解釋:值。get{}。
類型:float
解釋:最小值。get{}。
類型:float
解釋:最大值。get{}。
類型:float
解釋:滾動(dòng)條高度。get{}。
類型:CAImage*
解釋:設(shè)置前景圖片(已經(jīng)劃過(guò)的部分) 。get{}。
類型:CAImage*
解釋:設(shè)置后景圖片(未劃過(guò)的部分) 。get{}。
類型:CAImage*
解釋:滾動(dòng)塊的圖片 。get{}。
CASlider 方法說(shuō)明
static CASlider* createWithFrame(const DRect& rect);
返回值:static CASlider
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
DRect | rect | 區(qū)域大小 |
解釋:創(chuàng)建,并指定其Frame,默認(rèn)Frame為(0,0,0,0)
static CASlider* createWithCenter(const DRect& rect);
返回值:static CASlider
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
DRect | rect | 中心點(diǎn)的位置及大小 |
解釋:創(chuàng)建,并指定其Center,默認(rèn)Center為(0,0,0,0)
void addTarget(CAObject* target, SEL_CAControl selector);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
CAObject* | target | 目標(biāo) |
SEL_CAControl | selector | 選擇器 |
解釋:添加回調(diào)事件
void addTargetForTouchUpSide(CAObject* target, SEL_CAControl selector);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
CAObject* | target | 目標(biāo) |
SEL_CAControl | selector | 選擇器 |
解釋:添加回調(diào)事件的觸摸
void removeTarget(CAObject* target, SEL_CAControl selector);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
CAObject* | target | 目標(biāo) |
SEL_CAControl | selector | 選擇器 |
解釋:刪除回調(diào)事件
virtual void setValue(float value);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
float | value | 值 |
解釋:設(shè)定值
virtual void setMinValue(float minValue);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
float | minValue | 最小值 |
解釋:設(shè)定最小值
virtual void setMaxValue(float maxValue);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
float | maxValue | 最大值 |
解釋:設(shè)定最大值
virtual void setTrackHeight(float trackHeight);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
float | trackHeight | 滾動(dòng)條高度 |
解釋:設(shè)置滾動(dòng)條高度
virtual void setMinTrackTintImage(CAImage* minTrackTintImage);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
CAImage* | minTrackTintImage | 前景圖片(已經(jīng)劃過(guò)的部分) |
解釋:設(shè)置前景圖片(已經(jīng)劃過(guò)的部分)
virtual void setMaxTrackTintImage(CAImage* maxTrackTintImage);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
CAImage* | maxTrackTintImage | 后景圖片(未劃過(guò)的部分) |
解釋:設(shè)置后景圖片(未劃過(guò)的部分)
virtual void setThumbTintImage(CAImage* thumbTintImage);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
CAImage* | thumbTintImage | 滾動(dòng)塊的圖片 |
解釋:設(shè)置滾動(dòng)塊的圖片
void setContentSize(const CCSize & var);
返回值:void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
CCSize | var | 內(nèi)容大小 |
解釋:設(shè)置內(nèi)容大小
bool initWithFrame(const DRect& rect);
返回值:bool
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
const DRect& | rect | 區(qū)域大小 |
解釋:初始化,并指定其Frame
bool initWithCenter(const DRect& rect);
返回值:bool
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
const DRect& | rect | 中心點(diǎn)的位置及大小 |
解釋:初始化,并指定其Center
virtual bool ccTouchBegan(CATouch *pTouch, CAEvent *pEvent);
返回值:virtual bool
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
CATouch* | pTouch | 觸摸傳遞對(duì)象 |
CAEvent* | pEvent | 此參數(shù)待定 |
解釋:觸摸事件開(kāi)始時(shí)的回調(diào)函數(shù)
virtual void ccTouchMoved(CATouch *pTouch, CAEvent *pEvent);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
CATouch* | pTouch | 觸摸傳遞對(duì)象 |
CAEvent* | pEvent | 此參數(shù)待定 |
解釋:觸摸事件中觸點(diǎn)移動(dòng)時(shí)的回調(diào)函數(shù)
virtual void ccTouchEnded(CATouch *pTouch, CAEvent *pEvent);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
CATouch* | pTouch | 觸摸傳遞對(duì)象 |
CAEvent* | pEvent | 此參數(shù)待定 |
解釋:觸摸事件結(jié)束時(shí)的回調(diào)函數(shù)
virtual void layoutSubViews();
返回值:virtual void
參數(shù):
解釋:子視圖布局
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: