String+Extension.swift 946 Bytes
//
//  String+Extension.swift
//  metaCode
//
//  Created by zx on 2023/10/16.
//


import UIKit


extension String {
    /// Calculate text's height from `width` and `front`.
    func calculateHeightWith(width: CGFloat, font: UIFont)-> CGFloat {
        let attr = [NSAttributedString.Key.font: font]
        let maxSize: CGSize = CGSize(width: width, height: CGFloat(MAXFLOAT))
        let option = NSStringDrawingOptions.usesLineFragmentOrigin
        return self.boundingRect(with: (maxSize), options: option, attributes: attr, context: nil).size.height
    }
    
    //截取子字符串,eg "123456" start:2为第三位,length:3为长度是3,substring:345
    func subString(start: Int, length: Int) -> String {
        let startIndex = self.index(self.startIndex, offsetBy: start)
        let endIndex = self.index(startIndex, offsetBy: length)
        let substring = self[startIndex..<endIndex]
        return String(substring)
    }

}