extension String {
/// 富文本改变固定文字的颜色加粗以及大小
/// - Parameters:
/// - text: 主文本内容
/// - highlightText: 目标文字
/// - highlightColor: 目标文字颜色
/// - highlightSize: 目标文字大小
/// - textColor: 主文本文字颜色
/// - fontSize: 主文本文字大小
/// - Returns: 返回富文本
public static func attributedString(with text: String, highlightText: String, highlightColor: UIColor, highlightSize: CGFloat, textColor: UIColor = .black, fontSize: CGFloat = 14) -> NSAttributedString {
let attributedString = NSMutableAttributedString(string: text, attributes: [
.foregroundColor: textColor,
.font: UIFont.systemFont(ofSize: fontSize)
])
if let range = text.range(of: highlightText) {
let nsRange = NSRange(range, in: text)
attributedString.addAttributes([
.foregroundColor: highlightColor,
.font: UIFont.systemFont(ofSize: highlightSize)
], range: nsRange)
}
return attributedString
}
/// 富文本改变固定文字的颜色加粗以及大小
/// - Parameters:
/// - string: 主文本内容
/// - targetSubstring: 目标文字
/// - color: 目标文字颜色
/// - fontSize: 目标文字大小
/// - isBold: 是否加粗
/// - lineSpacing: 行间距
/// - Returns: 返回富文本
public static func attributedString(for string: String, targetSubstring: String, color: UIColor, fontSize: CGFloat, isBold: Bool, lineSpacing:CGFloat) -> NSAttributedString {
let attributedString = NSMutableAttributedString(string: string)
let range = (string as NSString).range(of: targetSubstring)
let font: UIFont = isBold ? .boldSystemFont(ofSize: fontSize) : .systemFont(ofSize: fontSize)
attributedString.addAttribute(.foregroundColor, value: color, range: range)
attributedString.addAttribute(.font, value: font, range: range)
//行间距
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = lineSpacing
attributedString.addAttributes([.paragraphStyle:paragraphStyle], range: NSRange(location: 0, length: string.count - 1))
return attributedString
}
}
富文本改变目标文字的大小与颜色
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 自己创建一个NSString的类别:创建一个回调block:typedef void(^AttributedBlo...
- Swift中对UILable的文字大小、颜色、行间距、富文本属性等设置 goodsLab.text = "潜水艇防...
- 1、在一段字符串中,改变多个不一样的字符的大小、颜色 2、找出特定字符在整个字符串中的位置(所有位置:可能包含多个...
- UIAlertController*alert = [UIAlertControlleralertControll...