extension String {
/// range转换为NSRange
func nsRange(from range: Range<String.Index>) -> NSRange {
return NSRange(range, in: self)
}
}
- use code
let labelText = label.text!
let range:Range = labelText.range(of: "高度")!
let nsrange = labelText.nsRange(from: range)
let mutableAttribute = NSMutableAttributedString(attributedString: label.attributedText!)
mutableAttribute.addAttributes([NSAttributedString.Key.foregroundColor : UIColor.red, NSAttributedString.Key.font : UIFont.init(name: "PingFang SC", size: 14)!], range: nsrange)
label.attributedText = mutableAttribute
Reference blog:
Swift4 range and NSRange conversion, string search
Another related blog of mine:
iOS swift5 Change the color and font of the specified text on UILabel