ios Label常用方法

2021-07-04 12:06:34 字數 4537 閱讀 9579

·uilable是iphone介面最基本的控制項,主要用來顯示文字資訊。

·常用屬性和方法有:

1、建立

cgrect rect = cgrectmake(100, 200, 50, 50);

uilabel *label = [[uilabel alloc] initwithframe:rect];

2、text //設定和讀取文字內容,預設為nil

label.text = @」文字資訊」; //設定內容

nslog(@」%@」, label.text); //讀取內容

3、textcolor //設定文字顏色,預設為黑色

lable.textcolor = [uicolor redcolor];

4、font //設定字型大小,預設17

label.font = [uifont systemfontofsize:20]; //⼀一般方法

label.font = [uifont boldsystemfontofsize:20]; //加粗方法

label.font = [uifont fontwithname:@"arial" size:16]; //指定

字型的方法

//還有⼀一種從外部匯入字型的方法。

5、textalignment //設定標籤文字對齊方式。

label.textalignment = nstextalignmentcenter; //還有

nstextalignmentleft、 nstextalignmentright.

6、numberoflines //標籤最多顯示行數,如果為0則表示多行。

label.numberoflines = 2;

7、enabled //只是決定了label的繪製方式,將它設定

為no將會使文字變暗,表示它沒有啟用,這時向它設定顏色值是無效的。

label.enable = no;

8、highlighted //是否高亮顯示

label.highlighted = yes;

label.highlightedtextcolor = [uicolor orangecolor]; //高亮

顯示時的文字顏色

9、shadowcolor //設定陰影顏色 

[label setshadowcolor:[uicolor blackcolor]];

10、shadowoffset //設定陰影偏移量

[label setshadowoffset:cgsizemake(-1, -1)];

11、baselineadjustment //如果adjustsfontsizetofitwidth屬性設

置為yes,這個屬性就來控制文字基線的行為。

label.baselineadjustment = uibaselineadjustmentnone;

uibaselineadjustmentalignbaselines = 0,預設,文字最上端與中線對齊。

uibaselineadjustmentaligncenters,  文字中線與label中線對齊。

uibaselineadjustmentnone, 文字最低端與label中線對齊。

12、autoshrink //是否自動收縮

fixed font size 預設,如果label寬度小於文字長度時時,文字大小不自動縮放

minimumscalefactor 設定最小收縮比例,如果label寬度小於文字長度時,文字

進行收縮,收縮超過比例後,停止收縮。

minimumfontsize 設定最小收縮字型大小,如果label寬度小於文字長度時,文字字型大小

減小,低於設定字型大小後,不再減小。以後不再使用了。

label.minimumscalefactor = 0.5;

13、adjustsletterspacingtofitwidth //改變字母之間的間距來適應label大小

mylabel.adjustsletterspacingtofitwidth = no;

14、 linebreakmode //設定文字過長時的顯示格式             

示,後面部分省略不顯示。

label.linebreakmode = nslinebreakbyclipping;剪下與文字寬度相同的內

容長度,後半部分被刪除。

label.linebreakmode = nslinebreakbytruncatinghead;前面部分文字

以……方式省略,顯示尾部文字內容。

label.linebreakmode = nslinebreakbytruncatingmiddle;中間的內容

以……方式省略,顯示頭尾的文字內容。

label.linebreakmode = nslinebreakbytruncatingtail;結尾部分的內容

以……方式省略,顯示頭的文字內容。

示,後面部分省略不顯示。

15、 adjustsfontsizetofitwidth //設定字型大小適應label寬度  

label.adjustsfontsizetofitwidth = yes;

16、attributedtext:設定標籤屬性文字。

nsstring *text = @"first";

nsmutableattributedstring *textlabelstr =

[[nsmutableattributedstring alloc]

initwithstring:text];

[textlabelstr

setattributes:@ range:nsmakerange(11,

10)];

label.attributedtext = textlabelstr;

17、豎排文字顯示每個文字加乙個換行符,這是最方便和簡單的實現方式。

label.text = @"請\n豎\n直\n方\n向\n排\n列";

label.numberoflines = [label.text length];

18、計算uilabel 隨字型多行後的高度

cgrect bounds = cgrectmake(0, 0, 200, 300);

heightlabel = [mylabel textrectforbounds:bounds

limitedtonumberoflines:20]; //計算20行後的label的frame

nslog(@"%f",heightlabel.size.height);

19、uilabel根據字數多少自動實現適應高度

uilabel *msglabel = [[uilabel alloc]

initwithframe:cgrectmake(15, 45, 0, 0)];

msglabel.backgroundcolor = [uicolor lighttextcolor];

[msglabel setnumberoflines:0];

msglabel.linebreakmode = uilinebreakmodewordwrap;

msglabel.font = [uifont fontwithname:@"arial" size:12];

cgsize size = cgsizemake(290, 1000);

msglabel.text = @"獲取到的devicetoken,我們可以通過webservice服務提

交給.net應用程式,這裡我簡單處理,直接列印出來,拷貝到.net應用環境中使

用。";

cgsize msgsie = [msglabel.text sizewithfont:fonts

constrainedtosize:size];

[msglabel setframe:cgrectmake(15, 45, 290, msgsie.height)];

20、漸變字型label

uicolor *titlecolor = [uicolor colorwithpatternimage:[uiimage

imagenamed:@"btn.png"]];

nsstring *title = @"setting";

uilabel *titlelabel = [[uilabel alloc]

initwithframe:cgrectmake(0, 0, 80, 44)];

titlelabel.textcolor = titlecolor;

titlelabel.text = title;

titlelabel.font = [uifont boldsystemfontofsize:20];

titlelabel.backgroundcolor = [uicolor clearcolor];

[self.view addsubview:titlelabel];

[titlelabel release];

21、label新增邊框

titlelabel.layer.bordercolor = [[uicolor graycolor] cgcolor];

titlelabel.layer.borderwidth = 2;

**

iOS label自動換行

label.frame cgrectmake 45,64 10 i 39,100,40 nsstring labelstr namearray i cgsize labelsize labelsize labelstr sizewithfont uifont systemfontofsize 17 ...

iOS Label新增刪除線

在做 格的時候需要用到刪除線,但是網上的刪除線千篇一律,都是大抄小抄,其實蘋果的nsattributedstring就可以實現這一點啦。如下 objc view plain copy nsstring oldprice 12345 nsuinteger length oldpricelength n...

iOS label設定不同的字型 顏色

uilabel lable uilabel alloc initwithframe cgrectmake 0,70,320,40 lable.numberoflines 0 lable.backgroundcolor uicolor greencolor self.view addsubview l...