ios / swift如何在显示标签宽度之前计算标签宽度

问题描述 投票:1回答:1
let label = UILabel()
label.text = "Label Text"

在addSubview之前获取标签宽度。

view.addSubview(label)

swift uiview label
1个回答
1
投票

您可以使用此功能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)
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.