CALabel(顯示文本)

2018-09-08 15:51 更新

類(lèi)說(shuō)明

標(biāo)簽文字類(lèi),用于顯示文本。


CALabel 屬性 (點(diǎn)擊屬性名可查看屬性介紹)

屬性說(shuō)明
Textlabel的文本內(nèi)容
FontNamelabel的字體
FontSizelabel的字體大小
Dimensionslabel的尺寸大小
VerticalTextAlignmet文本的豎直對(duì)齊方式
TextAlignment文本的水平對(duì)齊方式
NumberOfLinelabel的行數(shù)
UnderLinelabel的字體下劃線
Boldlabel的字體加粗
Italicslabel的字體斜體
EnableCopylabel的字體啟用復(fù)制
LineSpacinglabel的字體的行間距
WordWraplabel的字體自動(dòng)換行
LabelSize獲取label的大小


CALabel 方法 (點(diǎn)擊方法名可查看方法介紹)

方法說(shuō)明
sizeToFit設(shè)置自適應(yīng)label寬度
unsizeToFi取消設(shè)置自適應(yīng)label寬度
applyStylelabel的樣式風(fēng)格
applyStylelabel的應(yīng)用風(fēng)格
createWithFrame創(chuàng)建,并指定其Frame,默認(rèn)Frame為(0,0,0,0)
createWithCenter創(chuàng)建,并指定其Frame,默認(rèn)Center為(0,0,0,0)
initWithFrame初始化,并指定其Frame
initWithCenter初始化,并指定其Center
setColor設(shè)置label的顏色
getColor獲取label的顏色


使用介紹

    第一:Label的行數(shù):
              其實(shí)Label行數(shù)是受Label的范圍的影響,假如你設(shè)置的Frame太小,你超出Frame范圍的行數(shù)是不被顯示的。
        例如:Frame的范圍只夠顯示2行,那么NumberOfLine設(shè)置比2大也是最多顯示2行。

    第二:win開(kāi)放中文字符:
              假如是是在win下開(kāi)發(fā)CrossApp那么,label->setText("中文");這樣直接設(shè)置中文字符,CALabel的顯示不正常的。
        我們可以設(shè)置轉(zhuǎn)為UTF8格式,格式如下:label->setText(UTF8("偉大的矮人王索林·橡木盾"));

    第三:LabelSize 版本6.0有個(gè)bug

 
             LabelSize在你縮放CALabel和改變CALabel的文本內(nèi)容時(shí)候,LabelSize的值都不會(huì)變化。正常情況下應(yīng)該是在文本            內(nèi)容或字體大小發(fā)生改變時(shí),LabelSize也跟著改變

//通過(guò)設(shè)置Center來(lái)創(chuàng)建一個(gè)CALabel (CRect前兩個(gè)參數(shù)是中心點(diǎn)x,y;后兩個(gè)參數(shù)是width,height)    
 
CALabel* label = CALabel::createWithCenter(DRect(100, 200, 400, 400));  
  
//設(shè)置文本水平方向的對(duì)齊方式    
label->setTextAlignment(CATextAlignmentCenter);    
 
//設(shè)置文本豎直方向的對(duì)齊方式    
label->setVerticalTextAlignmet(CAVerticalTextAlignmentCenter);    
 
//設(shè)置文本大小(CROSSAPP_ADPTATION_RATIO 是用于適配的縮放比)    
label->setFontSize(72 * CROSSAPP_ADPTATION_RATIO);    
 
//設(shè)置文本內(nèi)容    
label->setText("Hello World!");    
 
//設(shè)置行數(shù)    
label->setNumberOfLine(10);    
 
//設(shè)置文本顏色    
label->setColor(CAColor_white);   
 
//設(shè)置文本字體    
label->setFontName("fonts/arial.ttf");    
 
this->getView()->insertSubview(label, 1);

CALabel 屬性說(shuō)明

Text

類(lèi)型:string

解釋?zhuān)涸O(shè)置文本顯示的字符串。 set/get{}。


 FontName

類(lèi)型:string

解釋?zhuān)涸O(shè)置文本顯示的字體。FontName


FontSize

類(lèi)型:unsigned int

解釋?zhuān)涸O(shè)置文本小時(shí)的字體大小。set/get{}。


Dimensions

類(lèi)型:DSize

解釋?zhuān)涸O(shè)置文本顯示的尺寸大小。set/get{}。


VerticalTextAlignmet 

類(lèi)型:CAVerticalTextAlignment

解釋?zhuān)涸O(shè)置文本顯示的豎直對(duì)齊方式,枚舉類(lèi)型。set/get{}。

typedef enum    
{
    CAVerticalTextAlignmentTop,        //頂部對(duì)齊方式
    CAVerticalTextAlignmentCenter,     //中心對(duì)齊方式
    CAVerticalTextAlignmentBottom,     //底部對(duì)齊方式
} CAVerticalTextAlignment;


TextAlignment 

類(lèi)型:CATextAlignment

解釋?zhuān)涸O(shè)置文本顯示的水平對(duì)齊方式,枚舉類(lèi)型。set/get{}。

typedef enum
{
    CATextAlignmentLeft,        //左對(duì)齊方式
    CATextAlignmentCenter,      //中心對(duì)齊方式
    CATextAlignmentRight,       //右對(duì)齊方式
} CATextAlignment;

NumberOfLine

類(lèi)型:unsigned int

解釋?zhuān)涸O(shè)置文本顯示的行數(shù)。set/get{}。set/get{}。


UnderLine

類(lèi)型:bool

解釋?zhuān)涸O(shè)置文本顯示的字體下劃線。set/get{}。


Bold

類(lèi)型:bool

解釋?zhuān)涸O(shè)置文本顯示的字體加粗。set/get{}。


Italics 

類(lèi)型:bool

解釋?zhuān)涸O(shè)置文本顯示的字體斜體。set/get{}。


EnableCopy

類(lèi)型:bool

解釋?zhuān)涸O(shè)置文本顯示的字體啟用復(fù)制。set/get{}。


LineSpacing 

類(lèi)型:int

解釋?zhuān)涸O(shè)置文本顯示的字體行間距。set/get{}。


WordWrap

類(lèi)型:bool

解釋?zhuān)涸O(shè)置文本顯示的字體自動(dòng)換行。set/get{}。

示例:


CALabel* c_Label = CALabel::createWithCenter(DRect(size.width*0.5,size.height*0.5,220,500));
    c_Label->setText("CrossApp is a cross platform application engine,developed by 9miao.com");
    c_Label->setTextAlignment(CATextAlignmentCenter);
    c_Label->setColor(CAColor_orange);
    c_Label->setFontSize(28);
    this->getView()->addSubview(c_Label);

LabelSize

類(lèi)型:DSize

解釋?zhuān)?span>獲取Label的大小。get{}。


CALabel 方法說(shuō)明

void sizeToFit();

返回值: void

參數(shù):

解釋?zhuān)涸O(shè)置自適應(yīng)label寬度,即label的寬度隨文本變化而變換


void unsizeToFit();

返回值: void

參數(shù):

解釋?zhuān)喝∠O(shè)置自適應(yīng)label寬度


void applyStyle(const string& sStyleName);

返回值: void

參數(shù):

類(lèi)型參數(shù)名說(shuō)明
const string&sStyleNamelabel的樣式名稱(chēng)

解釋?zhuān)簂abel的樣式風(fēng)格


void applyStyle(const CALabelStyle* pLabelStyle);

返回值: void

參數(shù):

類(lèi)型參數(shù)名說(shuō)明
const CALabelStyle*pLabelStylelabel的應(yīng)用風(fēng)格

解釋?zhuān)簂abel的應(yīng)用風(fēng)格


static CALabel* createWithFrame(const DRect& rect);

返回值: static CALabel*

參數(shù):

類(lèi)型參數(shù)名說(shuō)明
const DRect&rect區(qū)域大小

解釋?zhuān)簞?chuàng)建,并指定其Frame,默認(rèn)Frame為(0,0,0,0)


static CALabel* createWithCenter(const DRect& rect);

返回值: static CALabel*

參數(shù):

類(lèi)型參數(shù)名說(shuō)明
const DRect&rect中心點(diǎn)的位置及大小

解釋?zhuān)?span>創(chuàng)建,并指定其Frame,默認(rèn)Center為(0,0,0,0)


virtual bool initWithFrame(const DRect& rect);

返回值: virtual bool

參數(shù):

類(lèi)型參數(shù)名說(shuō)明
const DRect&rect區(qū)域大小

解釋?zhuān)?span>初始化,并指定其Frame


virtual bool initWithCenter(const DRect& rect);

返回值:virtual bool

參數(shù):

類(lèi)型參數(shù)名說(shuō)明
const DRect&rect中心點(diǎn)的位置及大小

解釋?zhuān)?span>初始化,并指定其Center


void setColor(const CAColor4B& var);

返回值: void

參數(shù):

類(lèi)型參數(shù)名說(shuō)明
const CAColor4B&varCAColor4B的類(lèi)型顏色

解釋?zhuān)涸O(shè)置label的顏色

    

const CAColor4B& getColor();

返回值: const CAColor4B&

參數(shù):

解釋?zhuān)韩@取label的顏色

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)