1.効果
2.コード
class tableViewTestVC: UIViewController{
lazy var label:UILabel = {
let label = UILabel()
label.backgroundColor = .yellow
let font = UIFont.init(name: "PingFang SC", size: 14)!
label.font = font
label.numberOfLines = 0
let str:NSString = "但是公司的 高度 是广东省公司的广东省高速度 高度 来开个大帅哥多撒谎"
label.text = str as String![请添加图片描述](https://img-blog.csdnimg.cn/740d60d35e7d48fca7fb0447d14f3e2c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pif5pif5pyI5LquMA==,size_12,color_FFFFFF,t_70,g_se,x_16)
return label
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(label)
label.snp.makeConstraints {
(make) in
make.top.equalToSuperview().offset(30)
make.left.equalToSuperview().offset(10)
make.width.equalTo(200)
}
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
}
}
extension String {
func nsRange(from range: Range<String.Index>) -> NSRange {
return NSRange(range, in: self)
}
}