【发布时间】:2020-07-22 22:17:23
【问题描述】:
let label = UILabel()
label.text = "Label Text"
在 addSubview 之前获取标签宽度。
view.addSubview(标签)
【问题讨论】:
let label = UILabel()
label.text = "Label Text"
在 addSubview 之前获取标签宽度。
view.addSubview(标签)
【问题讨论】:
你可以使用这个函数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)
}
}
【讨论】: