W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
類說(shuō)明
CAScale9ImageView是CrossApp提供的一種九宮格拉伸圖片的解決方案,我們先來(lái)了解一下什么是九宮格圖片拉伸。
在App的設(shè)計(jì)過(guò)程中,為了適配不同的手機(jī)分辨率,圖片大小需要拉伸或者壓縮,這樣就出現(xiàn)了可以任意調(diào)整大小的拉伸樣式。
CAScale9ImageView 屬性(點(diǎn)擊方法名可查看方法介紹)
屬性 | 說(shuō)明 |
OriginalSize | 原始尺寸 |
CapInsets | 拉伸區(qū)域 |
InsetLeft | 左側(cè)拉伸距離 |
InsetTop | 上側(cè)拉伸距離 |
InsetRight | 右側(cè)拉伸距離 |
InsetBottom | 下側(cè)拉伸距離 |
CAScale9ImageView 方法(點(diǎn)擊方法名可查看方法介紹)
方法 | 說(shuō)明 |
create | 創(chuàng)建,默認(rèn)Frame為(0,0,0,0) |
createWithImage | 創(chuàng)建,并指定其圖像 |
createWithFrame | 創(chuàng)建,并指定其Frame,默認(rèn)Frame為(0,0,0,0) |
createWithCenter | 創(chuàng)建,并指定其Center,默認(rèn)Center為(0,0,0,0) |
init | 初始化 |
initWithImage | 初始化,并指定其圖像 |
setCapInsets | 設(shè)置拉伸區(qū)域 |
setInsetLeft | 設(shè)置左側(cè)拉伸區(qū)域 |
setInsetTop | 設(shè)置上側(cè)拉伸區(qū)域 |
setInsetRight | 設(shè)置右側(cè)拉伸區(qū)域 |
setInsetBottom | 設(shè)置下側(cè)拉伸區(qū)域 |
setColor | 設(shè)置顏色 |
getColor | 獲取顏色 |
setAlpha | 設(shè)置透明度 |
copy | 復(fù)制 |
setImage | 設(shè)置圖像 |
getImage | 獲取圖像 |
draw | 重新繪制圖像 |
void FirstViewController::viewDidLoad(){ //創(chuàng)建CAScale9ImageView* first9IV = CAScale9ImageView::createWithImage(CAImage::create("source_material/btn_rounded_normal.png"));//設(shè)置顯示大?。ɡ旌蟮拇笮。?/div> //設(shè)置非拉伸區(qū)域?yàn)?5,5,20,20) first9IV->setCapInsets(DRect(5,5,20,20));this->getView()->addSubview(first9IV);first9IV->setFrame(DRect(100, 100, 50, 140)); //添加渲染 //創(chuàng)建CAImage::create("source_material/btn_rounded_highlighted.png"));CAScale9ImageView* second9IV = CAScale9ImageView::createWithImage( //設(shè)置非拉伸區(qū)域與頂部的距離 second9IV->setInsetTop(3.0f);second9IV->setInsetLeft(3.0f);//設(shè)置非拉伸區(qū)域與底部的距離 second9IV->setInsetBottom(3.0f); //設(shè)置非拉伸區(qū)域與右邊的距離 second9IV->setInsetRight(3.0f); //設(shè)置非拉伸區(qū)域與左邊的距離CALabel* image9Label = CALabel::createWithFrame(DRect(400, 200, 150, 40));//設(shè)置顯示區(qū)域(拉伸后的大小)second9IV->setFrame(DRect(400, 200, 150, 40));//添加渲染 this->getView()->addSubview(second9IV);this->getView()->addSubview(image9Label);//創(chuàng)建 image9Label->setText(UTF8("使用九圖"));image9Label->setTextAlignment(CATextAlignmentCenter);image9Label->setVerticalTextAlignmet(CAVerticalTextAlignmentCenter);imageView->setImage(CAImage::create("source_material/btn_rounded_highlighted.png"));//不使用9宮格拉伸 設(shè)置大小與上同 CAImageView* imageView = CAImageView::createWithFrame(DRect(400, 300, 150, 40)); //設(shè)置顯示圖片 //添加渲染 this->getView()->addSubview(imageView); //創(chuàng)建imageLabel->setVerticalTextAlignmet(CAVerticalTextAlignmentCenter);CALabel* imageLabel = CALabel::createWithFrame(DRect(400, 300, 150, 40)); imageLabel->setText(UTF8("不用九圖")); imageLabel->setTextAlignment(CATextAlignmentCenter); this->getView()->addSubview(imageLabel);}
CAScale9ImageView 屬性說(shuō)明類型:DSize
解釋:原始尺寸,get{}。
類型:DSize
解釋:拉伸區(qū)域,get{}。
類型:float
解釋:左側(cè)拉伸距離。get{}。
類型:float
解釋:上側(cè)拉伸距離。get{}。
類型:float
解釋:右側(cè)拉伸距離。get{}。
類型:float
解釋:下側(cè)拉伸距離。get{}。
CAScale9ImageView 方法說(shuō)明
static CAScale9ImageView* create();
返回值:static CAScale9ImageView*
參數(shù):
解釋:創(chuàng)建,默認(rèn)Frame為(0,0,0,0)
static CAScale9ImageView* createWithImage(CAImage* image);
返回值:static CAScale9ImageView*
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
CAImage* | image | 圖像 |
解釋:創(chuàng)建,并指定其圖像
static CAScale9ImageView* createWithFrame(const DRect& rect);
返回值:static CAScale9ImageView*
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
const DRect& | rect | 區(qū)域大小 |
解釋:創(chuàng)建,并指定其Frame,默認(rèn)Frame為(0,0,0,0)
static CAScale9ImageView* createWithCenter(const DRect& rect);
返回值:static CAScale9ImageView*
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
const DRect& | rect | 中心點(diǎn)的位置及大小 |
解釋:創(chuàng)建,并指定其Center,默認(rèn)Center為(0,0,0,0)
返回值:virtual bool
參數(shù):
解釋:初始化
virtual bool initWithImage(CAImage* image);
返回值:virtual bool
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
CAImage* | image | 圖像 |
解釋:初始化,并指定其圖像
virtual void setCapInsets(const DRect& capInsets);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
const DRect& | capInsets | 拉伸區(qū)域 |
解釋:設(shè)置拉伸區(qū)域
virtual void setInsetLeft(float insetLeft);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
float | insetLeft | 左側(cè)拉伸區(qū)域 |
解釋:設(shè)置左側(cè)拉伸區(qū)域
virtual void setInsetTop(float insetTop);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
float | insetTop | 上側(cè)拉伸區(qū)域 |
解釋:設(shè)置上側(cè)拉伸區(qū)域
virtual void setInsetRight(float insetRight);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
float | insetRight | 右側(cè)拉伸區(qū)域 |
解釋:設(shè)置右側(cè)拉伸區(qū)域
virtual void setInsetBottom(float insetBottom);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
float | insetBottom | 下側(cè)拉伸區(qū)域 |
解釋:設(shè)置下側(cè)拉伸區(qū)域
virtual void setColor(const CAColor4B& color);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
const CAColor4B& | color | 顏色 |
解釋:設(shè)置顏色
virtual const CAColor4B& getColor();
返回值:virtual const CAColor4B&
參數(shù):
解釋:獲取顏色
virtual void setAlpha(float alpha);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
float | alpha | 透明度 |
解釋:設(shè)置透明度
返回值:virtual CAView*
參數(shù):
解釋:復(fù)制
virtual void setImage(CAImage* image);
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
CAImage* | image | 圖像 |
解釋:設(shè)置圖像
返回值:using
參數(shù):
解釋:獲取圖像
返回值:virtual void
參數(shù):
類型 | 參數(shù)名 | 說(shuō)明 |
void | void | 空 |
解釋:重新繪制圖像
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)系方式:
更多建議: