【发布时间】:2021-08-12 04:59:32
【问题描述】:
【问题讨论】:
标签: swift uiview storyboard uilabel
【问题讨论】:
标签: swift uiview storyboard uilabel
您需要先找到标签的高度。您可以通过以下方式做到这一点
extension String {
func height(withConstrainedWidth width: CGFloat, font: UIFont) -> CGFloat {
let constraintRect = CGSize(width: width, height: .greatestFiniteMagnitude)
let boundingBox = self.boundingRect(with: constraintRect, options: .usesLineFragmentOrigin, attributes: [NSAttributedString.Key.font: font], context: nil)
return ceil(boundingBox.height)
}
}
然后你可以像这样找到高度:
let height = "yourString".height(withConstrainedWidth: "THE WIDTH YOU ARE SETTING", UIFont.systemFont(ofSize: 15))
你可以保留你设置的任何宽度和字体,你会得到高度。
现在您可以保持视图的高度约束等于标签的高度
【讨论】: