前言
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...