如何找到 "sizeToFit" 标签的高度?
How can you find the height of a label that is "sizeToFit"?
我有一个包含可变大小字符串的标签。标签嵌入固定宽度的垂直堆栈中。
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,其中 returns UILabel 元素的标签文本的 CGSize,
您可以在这篇文章中阅读更多相关信息:intrinsicContentSize
我有一个包含可变大小字符串的标签。标签嵌入固定宽度的垂直堆栈中。
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,其中 returns UILabel 元素的标签文本的 CGSize,
您可以在这篇文章中阅读更多相关信息:intrinsicContentSize