1/// 高亮显示文字
2/// - Parameters:
3/// - subString: 需要高亮显示的文字
4/// - color: 高亮显示的颜色
5/// - Returns: 返回可用的属性字符串
6func highlight(SubString subString:String, Color color: UIColor) -> NSMutableAttributedString? {
7 /// 如果没有文本 返回nil
8 guard let textStr = self.text else { return nil }
9
10 var mastr:NSMutableAttributedString!
11 if let aStr = self.attributedText {
12 mastr = NSMutableAttributedString(attributedString: aStr)
13 }else{
14 mastr = NSMutableAttributedString(string: textStr, attributes: [.font:self.font, .foregroundColor:self.textColor])
15 }
16
17 var range = (mastr.string as NSString).range(of: subString)
18 while range.location != NSNotFound {
19 mastr.addAttribute(.foregroundColor, value: color, range: range)
20 let nextRange = NSRange(location: range.location + range.length, length: mastr.length - (range.location + range.length))
21 range = (mastr.string as NSString).range(of: subString, options: [], range: nextRange)
22 }
23 return mastr
24}