我有一个包含可变大小字符串的标签。标签嵌入在固定宽度的垂直堆栈中。
var productName: UILabel = {
let lbl = UILabel()
lbl.translatesAutoresizingMaskIntoConstraints = false
lbl.numberOfLines = 0
lbl.sizeToFit()
lbl.textColor = .black
lbl.font = UIFont(name: "HelveticaNeue", size: 13)
lbl.textAlignment = .center
return lbl
}()
var Vstack: UIStackView = {
let stack = UIStackView()
stack.axis = .vertical
stack.alignment = .center
return stack
}()
我在其中插入文本后需要这个标签的高度,因为它决定了它所在的tableViewCell的大小。因为它包含的字符串是可变的,并且标签本身是“ sizeToFit”,所以我无法计算其高度首先想到的是:
productName.frame.height
productName.frame.size.height
productName.layer.frame.height
将标签插入文本后,有什么方法可以获取标签的高度?
您可以使用intrinsicContentSize,它返回元素内部标签的CGSize,
您可以在本文中阅读有关它的更多信息:intrinsicContentSize