let label = UILabel()
label.text = "Label Text"
在addSubview之前获取标签宽度。
view.addSubview(label)
您可以使用此功能width(forHeight height: CGFloat, font: UIFont)
计算字符串宽度。
let tetxWidth = "Label Text".width(forHeight: 15, font: .systemFont(ofSize: 14))
extension String {
func width(forHeight height: CGFloat, font: UIFont) -> CGFloat {
let constraintRect = CGSize(width: .greatestFiniteMagnitude, height: height)
let boundingBox = self.boundingRect(with: constraintRect, options: .usesLineFragmentOrigin, attributes: [.font: font], context: nil)
return ceil(boundingBox.width)
}
}