///计算宽度 内容 字体大小
public func textWidth(text: String, font: UIFont) -> CGFloat {
//给定的最大宽度、因为计算宽度,高度无所谓
let size = CGSize(width: 20000, height: 100)
let attributes = [NSAttributedString.Key.font: font]
let labelSize:CGRect = NSString(string: text).boundingRect(with: size, options: .usesLineFragmentOrigin, attributes: attributes, context: nil)
return labelSize.width
}
//或者
extension String {
///计算字体宽度 字体大小
public func textWidth(font: UIFont) -> CGFloat {
let str = self as NSString
let size = CGSize(width: 20000, height: 100)
let attributes = [NSAttributedString.Key.font: font]
let labelSize = str.boundingRect(with: size, options: .usesLineFragmentOrigin, attributes: attributes, context: nil).size
return labelSize.width
}
}
///计算高度 字体宽度 内容(根据宽度计算高度)