UIlabel Sizetofit意外行为

时间:2017-11-09 21:50:25

标签: ios swift uitableview uilabel uicollectionreusableview

我的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

}

约束:

enter image description here

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

}

约束:

enter image description here

此外,文本视图中的Label与Another Label和stackview constrainst堆叠在一起:

enter image description here

这是一个例子:

enter image description here

它似乎不起作用。我完全不明白。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

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