美文网首页
iOS__同一个Lable不同字体大小、颜色

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

作者: Qy_iOS | 来源:发表于2017-11-22 14:00 被阅读0次

    开发中经常用到一个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;

    相关文章

      网友评论

          本文标题:iOS__同一个Lable不同字体大小、颜色

          本文链接:https://www.haomeiwen.com/subject/ssinvxtx.html