ios 部分string颜色_iOS中富文本部分字体颜色改变

在我们的开发中经常需要改变某段文本中部分文字的颜色,很多同学都比较头疼实现方法,我在开发中也遇到过,现封装了下,方便于大家使用。有两个版本一个是OC版,另一个是Swift版本。

先上图看效果:

Paste_Image.png

Swift版

//MARK 富文本部分字体飘灰

func setupAttributeString(text : NSString, highlightText : NSString) -> NSMutableAttributedString {

let hightlightTextRange = text.rangeOfString(highlightText as String)

let attributeStr = NSMutableAttributedString.init(string: text as String)

attributeStr.addAttribute(NSForegroundColorAttributeName, value: UIColor(hexString: "#0000ff"), range: hightlightTextRange)

self.fileNameLabel?.lineBreakMode = .ByCharWrapping

self.fileNameLabel?.attributedText = attributeStr

return attributeStr

}

OC版

#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];

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值