美文网首页
IOS UILabel 一行文字实现不同颜色NSAttribut

IOS UILabel 一行文字实现不同颜色NSAttribut

作者: FMaarten | 来源:发表于2018-12-25 16:09 被阅读0次

    代码如下:

    CGFloat greementX = CGRectGetMaxX(_selectBtn.frame)+CURSRCEENLENGTH(5);
        UILabel *agreementLab = [[UILabel alloc] initWithFrame:CGRectMake(greementX, CURSRCEENLENGTH(10), noteView.width - greementX, CURSRCEENLENGTH(20))];
        agreementLab.attributedText = [self formateAttribustring:@"我同意" colorString:@" 《苏师傅平台服务协议》"];
        agreementLab.numberOfLines = 2;//最多显示多少行的属性
        agreementLab.font = FONT(14);
        [noteView addSubview:agreementLab];
    
    - (NSAttributedString *)formateAttribustring:(NSString*)normalStr colorString:(NSString*)colorStr
    {
        //NSFontAttributeName
        NSDictionary * attrsDic1 = @{NSForegroundColorAttributeName:UIColorFromHex(0x262626),NSFontAttributeName:[UIFont systemFontOfSize:14]};
        NSDictionary * attrsDic2 = @{NSForegroundColorAttributeName:UIColorFromHex(0xFC4820),NSFontAttributeName:[UIFont systemFontOfSize:14]};
        
        NSAttributedString * str1 = [[NSAttributedString alloc] initWithString:normalStr attributes:attrsDic1];
        NSAttributedString * str2 = [[NSAttributedString alloc] initWithString:colorStr attributes:attrsDic2];
        
        NSMutableAttributedString * attributeString = [[NSMutableAttributedString alloc] init];
        [attributeString appendAttributedString:str1];
        [attributeString appendAttributedString:str2];
        return attributeString;
    }
    
    如下图所示效果 ios_label.png

    注:要想实现UILabel更多不同颜色文字可在方法里面实现多个NSAttributedString拼接来达到效果

    相关文章

      网友评论

          本文标题:IOS UILabel 一行文字实现不同颜色NSAttribut

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