UIlabel Sizetofit 异常行为

UIlabel Sizetofit unexpected behavious

我的 UIlabel sizeToFit() 方法出现意外行为。现在我已经尝试制作 numberOfLines = 0,我的事件名为 LayoutIfNeed()。但其中 None 有效。

我什至尝试了这个问题中给出的方法:Vertically align text to top within a UILabel

但再次 None 有所帮助。我没有太多限制,我只是在使用自动调整大小的图钉。我什至在没有限制或没有自动调整大小的情况下尝试过。

我在 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()

}

限制条件:

此外,文本视图中的标签与另一个标签堆叠在一起,stackview 约束是:

示例如下:

它似乎不起作用。我完全不知道。

非常感谢任何帮助。

您需要在文本添加到标签之后调用 sizeToFit(),而不是之前。