我的UIlabel sizeToFit()
方法遇到了意外行为。现在我尝试制作numberOfLines = 0
,我称之为LayoutIfNeed()
的事件。但它们都不起作用。
我甚至尝试过这个问题中给出的方法:Vertically align text to top within a UILabel
但是没有人帮忙。我没有太多限制,我只是使用自动调整大小的引脚。我甚至尝试了没有约束或没有自动调整大小。
我在TableViewCell和CollectionReusableView中设置了这个标签。在awakeFromNib()
中调用它只是不会影响。
UIcollectionReusableView代码:
override func awakeFromNib() {
super.awakeFromNib()
label.sizeToFit()
label.numberOfLines = 0
label.layer.shadowOffset = CGSize(width: 0, height: 0)
label.layer.shadowOpacity = 3
label.layer.shadowRadius = 8
}
约束:
TableViewCell代码:
override func layoutSubviews() {
super.layoutSubviews()
// this is the UIview on which the label is put on.
contentView.layoutIfNeeded()
}
override func awakeFromNib() {
super.awakeFromNib()
// This is the label has the issue
caption.sizeToFit()
}
约束:
此外,文本视图中的Label与Another Label和stackview constrainst堆叠在一起:
这是一个例子:
它似乎不起作用。我完全不明白。
非常感谢任何帮助。
答案 0 :(得分:1)
在将文本添加到标签之后,您需要调用sizeToFit(),而不是之前。