UILable設定不同顏色不同字型

2021-06-22 09:01:30 字數 1988 閱讀 1141

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

現實**:

.h 檔案

1@inte***ce viewcontroller : uiviewcontroller

2@property (nonatomic, strong) iboutlet uilabel *attrlabel;

3- (ibaction)next:(id)sender;

4@end

.m檔案 在viewdidload方法中新增以下**:

1self.title = @"for ios 6 & later";

2nsmutableattributedstring *str = [[nsmutableattributedstring alloc] initwithstring:@"using nsattributed string"];

3[str addattribute:nsforegroundcolorattributename value:[uicolor bluecolor] range:nsmakerange(0,5)];

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

5[str addattribute:nsforegroundcolorattributename value:[uicolor greencolor] range:nsmakerange(19,6)];

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

7[str addattribute:nsfontattributename value:[uifont fontwithname:@"helveticaneue-bold"size:30.0] range:nsmakerange(6, 12)];

8[str addattribute:nsfontattributename value:[uifont fontwithname:@"courier-boldoblique"size:30.0] range:nsmakerange(19, 6)];

9attrlabel.attributedtext = str;

效果圖:

如果想在ios6.0以前版本實現這個效果,需要使用到乙個第三方庫tttattributedlabel,同時還有匯入coretext.frame框架.

UILable不同版中的lineBreakMode

label.linebreakmode nslinebreakbyclipping 剪下與文字寬度相同的內容長度,後半部分被刪除。label.linebreakmode nslinebreakbytruncatinghead 前面部分文字以 方式省略,顯示尾部文字內容。label.linebreak...

UILable不同版中的lineBreakMode

label.linebreakmode nslinebreakbyclipping 剪下與文字寬度相同的內容長度,後半部分被刪除。label.linebreakmode nslinebreakbytruncatinghead 前面部分文字以 方式省略,顯示尾部文字內容。label.linebreak...

UILable不同版中的lineBreakMode

label.linebreakmode nslinebreakbyclipping 剪下與文字寬度相同的內容長度,後半部分被刪除。label.linebreakmode nslinebreakbytruncatinghead 前面部分文字以 方式省略,顯示尾部文字內容。label.linebreak...