關於UILabel與NSMutableAttributedString

weixin_33866037發表於2016-09-10

最近遇到個需求,一個label裡面,設定不同的字型顏色大小以及改變label裡面的行間距,搜了一些,這裡做個總結。
其實主要是用到了NSMutableAttributedString。NSAttributedString可以讓我們使一個字串顯示的多樣化。話不多說,上程式碼。

NSString *labelText = @"this is a label bababababababababababababababaabababababababaaabababaababababa";
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:labelText];

//獲取string範圍:this
NSRange rangeA = [labelText rangeOfString:@"this"];
//改變顏色:紅色
[attributedString addAttribute:NSForegroundColorAttributeName value: [UIColor redColor] range:rangeA];
//改變字型大小
[attributedString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:30.0] range:rangeA];
//加下劃線
[attributedString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:rangeA];
//更改label的text的行間距
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];   
[paragraphStyle setLineSpacing:15.0];
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [labelText length])];

最終效果圖


1648750-8c06e51f0f598637.png
效果圖

相關文章