iOS__同一个Lable不同字体大小、颜色

2017-11-22  本文已影响0人  Qy_iOS

开发中经常用到一个label上显示不同的字体,比如:


这些文字都是大小、颜色不同,但是创建的只是一个Label

代码:

// 创建Attributed

NSMutableAttributedString *noteStr = [[NSMutableAttributedString alloc] initWithString:@" "];

// 需要改变的第一个文字的位置

NSUInteger firstLoc = [[noteStr string] rangeOfString:@“ ”].location;

// 需要改变的最后一个文字的位置

NSUInteger secondLoc = [[noteStr string] rangeOfString:@“”].location;

// 需要改变的区间

NSRange range = NSMakeRange(firstLoc, secondLoc - firstLoc);

// 改变颜色

[noteStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:range];

// 改变字体大小及类型

[noteStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:15] range:range];

提示: 可以将这段代码封装起来,单独调用,传入所需要改变的字体、大小、和颜色,最后 reture noteStr

-(NSMutableAttributedString *)changeLabelText:(NSString *)needText fristText:(NSString *)fText lastText:(NSString *)lText changeColor:(UIColor *)changeColor textFont:(UIFont *)textFont{}

*****  注意一定要先设置字体规格,再去改变区间颜色

------------------------这 样---------------------------

NSString *title2=@"您已成功提交申请,请耐心等待审核结果请在【我的订单】查看申请状态";

    _textlabel = [[UILabel alloc] initWithFrame:CGRectMake(20*unitPX, 190*unitPX, MAIN_WIDTH-40*unitPX, 70*unitPX)];

    _textlabel.textColor = COLOR(125, 125, 125, 1);

    _textlabel.font = [UIFont systemFontOfSize:14*unitPX];

    _textlabel.text = title2;

------------------再设置改变区域颜色-----------------------

    NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:title2];

    NSRange range1 = [[str string] rangeOfString:@"【我的订单】"];

    [str addAttribute:NSForegroundColorAttributeName value:theMainColor range:range1];

    _textlabel.attributedText = str;

    _textlabel.textAlignment = NSTextAlignmentCenter;

    _textlabel.numberOfLines = 2;

上一篇下一篇

猜你喜欢

热点阅读