美文网首页
设置富文本多个字体的颜色和字体大小

设置富文本多个字体的颜色和字体大小

作者: 迎风起飞的猪 | 来源:发表于2017-10-20 11:52 被阅读314次

#pragma mark - 富文本部分字体变色

- (NSMutableAttributedString *)setupAttributeString:(NSString *)text highlightText:(NSString *)highlightText {

NSRange hightlightTextRange = [text rangeOfString:highlightText];

NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc] initWithString:text];

if (hightlightTextRange.length > 0) {

[attributeStr addAttribute:NSForegroundColorAttributeName

value:[UIColor colorWithHexString:@"#8c8c8c"]

range:hightlightTextRange];

[attributeStr addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:13.0f] range:hightlightTextRange];

self.currentTitleLabel.lineBreakMode = NSLineBreakByTruncatingMiddle;

self.currentTitleLabel.attributedText = attributeStr;

return attributeStr;

}else {

return [highlightText copy];

}

}

/// 设置行高

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:text];

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];

[paragraphStyle setLineSpacing:5];

paragraphStyle.alignment = NSTextAlignmentCenter;

[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, text.length)];

/**

* @param text 总的字符串

* @param textArr 从字符串中找到关键字的数组

*/

///   设置关键字数组字体的颜色,和关键字数组字体的大小

- (NSMutableAttributedString *)exchangeRandomTextColor:(NSString *)text TextArr:(NSArray *)textArr FontArray:(NSArray *)fontArray{

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:text];

// 关键字所在的位置

NSRange range;

for (NSInteger i = 0; i < textArr.count; i++) {

if([text rangeOfString:textArr[i]].location != NSNotFound){

range = [text rangeOfString:textArr[i]];

[attributedString addAttribute:NSForegroundColorAttributeName

value:[UIColor colorWithHexString:@"#000000"]

range:NSMakeRange(range.location, range.length)];

}

}

for (NSInteger i = 0; i < fontArray.count; i++) {

if([text rangeOfString:fontArray[i]].location != NSNotFound){

range = [text rangeOfString:fontArray[i]];

[attributedString addAttribute:NSFontAttributeName

value:[UIFont systemFontOfSize:13]

range:NSMakeRange(range.location, range.length)];

}

}

return attributedString;

}

相关文章

网友评论

      本文标题:设置富文本多个字体的颜色和字体大小

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