iOS swift5は、UILabelで指定されたテキストの色とフォントを変更します

記事ディレクトリ

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 {
    
    
    /// range转换为NSRange
    func nsRange(from range: Range<String.Index>) -> NSRange {
    
    
        return NSRange(range, in: self)
    }
}

おすすめ

転載: blog.csdn.net/baidu_40537062/article/details/123925549