iOS中Label實現顯示不同顏色與字型的方法

2022-09-24 09:45:12 字數 2607 閱讀 5334

前言

ios中label是我們經常遇到的乙個控制項,我們大家應該都會簡單的使用它,像下面這個**,就能簡單的建立乙個label

// 1、建立

cgrectrect =cgrectmake(100,100,100,100);

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

引言然而我們在開發中,經常會遇到一行字,但是顯示不同顏色和字型的情況,話不多說,直接上**。

1、顯示不同顏色,有兩種方式

(1)通過 range 來設定

nsmutableattributedstring *str = [[nsmutableattributedstring alloc] initwithstring:@"點選代表您已閱讀並同意使用者規則和協議"];

[str addattribute:nsforegroundcolorattributename value:[uicolor orangecolor] range:nsmakerange(0,11)];

[str addattribute:nsforegroundcolorattributename value:[uicolor redcolor] range:nsmakerange(11,4)];

[str addattribute:nsforegroundcolorattributename value:[uicolor bluecolor] range:nsmakerange(16,2)];

label.attributedtext = str;

(2)通過文本來設定

nsmutableattributedstring = [[nsmutableattributedstring alloc] initwithstring:@"點選代表您已閱讀並同意使用者規則和協議"];

nsrange range1 = [[str string] rangeofstring:@"點選代表您已閱讀並同意"];

[str addattribute:nsforegroundcolorattributename value:[uicolor orangecolor] range:range1];

nsrange range2 = [[str string] rangeofstring:@"使用者規則"];

[str addattribute:nsforegroundcolorattributename value:[uicolor redcolor] range:range2];

nsrange range3 = [[str string] rangeofstring:@"協議"];

[str addattribute:nsforegroundcolorattributename value:[uicolor bluecolor] range:range3];

label.attributedtext = str;

以上兩種的效果一樣,如圖:

2、顯示不同字型,也是兩種方式

(1)通過 range 來設定

[str addattribute:nsfontattributename value:[uifont fontwithname:@"arial-bolditalicmt" size:13.0] range:nsmakerange(0, 11)];

[str addattribute:nsfontattributename value:[uifont fontwithname:@"helveticaneue-bold" size:14.0] range:nsmakerange(11, 4)];

[str addattribute:nsfontattributename value:[uifont fontwithname:@"courier-boldoblique" size:14.0] range:nsmakerange(16, 2)];

label.attributedtext = str;

(2)通過文本來設定

nsrange range1 = [[str strwww.cppcns.coming] rangeofstring:@"點選代表您已閱讀程式設計客棧並同意"];

[str addattribute:nsfontattributename value:[程式設計客棧uifont fontwithname:@"arial-bolditalicmt" size:13.0] range:range1];

nsrange range2 = [[str string] rangeofstring:@"使用者規則"];

[str addattribute:nsfontattributename value:[uifont fontwithname:@"helveticaneue-bold" range:range2];

nsrange range3 = [[str string] rangeofstring:@"協議"];

[str addattribute:nsfontattributename value:[uifont fontwithname:@"courier-boldoblique" size:14.0] range:range3];

label.attributedtext = str;

以上兩種方式效果圖如下:

總結本文標題: ios中label實現顯示不同顏色與字型的方法

本文位址:

iOS開發 label上顯示不同顏色不同大小的字

1 要顯示不同顏色的數字 nsstring numberstr nsstring stringwithformat d 121 myabel建立的label myabel setattributedtext self attrstrfrom nsstring stringwithformat 已有 ...

label顯示不同字型

在專案開發中,我們經常會遇到在這樣一種情形 在乙個uilabel 使用不同的顏色或不同的字型來體現字串,在ios 6 以後我們可以很輕鬆的實現這一點,官方的api 為我們提供了uilabel類的attributedtext,使用不同顏色和不同字型的字串,我們可以使用nsattributedtext ...

label在最新iOS系統中顯示不全

上線了很久的專案,突然ui有問題,label顯示不全,出現.第一反映還是覺得更新的xcode以及系統版本問題 果然啊最新系統的字型比普通系統的要大一點,導致高度一直都不能自適應!解決方法 self.packagedetaillabel setadjustsfontsizetofitwidth yes...