嵌入在UIView中的UILabel的多行问题

时间:2018-12-25 23:57:06

标签: ios swift uilabel

这是UIView的屏幕快照及其约束。

它位于表格视图单元格中

enter image description here

当我在不使用UIView的情况下使用UIlabel时,我可以使其增长多行。但这不适用于我用于填充的UIView

enter image description here

我尝试过某事

cell.layoutIfNeeded()
        cell.label.sizeToFit()
        cell.label.layoutIfNeeded()
        cell.view.layoutIfNeeded()
        cell.view.sizeToFit()

如何使多行工作?

3 个答案:

答案 0 :(得分:1)

  • 确保您没有为标签视图本身设置任何必需的静态高度。
  • 使标签(这是视图的子视图)的边缘等于超级视图的边缘。
  • 最后但并非最不重要的一点,是将内容拥抱和内容压缩抵抗优先级的值设置为所需的值。

顺便说一句。 -如果您只需要灰色背景以某种常数在视觉上包裹标签,则标签不必是该灰色背景视图的子视图,只需将视图的边缘设置为标签的边缘并进行一些布局校正即可您的需求。

答案 1 :(得分:0)

1 。在属性检查器中为Label设置背景颜色。请勿将背景视图用于标签。

2 。将UIlabel的 lines 属性设置为所需行数。

3 。不要给出高度限制。只给出顶部的尾随宽度和宽度。

答案 2 :(得分:0)

1-将UIlabel的lines属性设置为所需的行数,可以将其设置为0,然后UILabel将自动调整大小

2-不要给出高度限制,只给出顶部的尾随宽度和宽度

3-returnheightForRowAtIndexPath:UITableView.automaticDimension(Swift 4.2)