以编程方式设置UILabel高度Swift无法正常工作

时间:2014-11-26 10:30:56

标签: ios swift uilabel

我正在开发一个应用程序,我在那里动态计算tableview单元格(自定义单元格)的高度。高度计算完好,但单元格中的标签被截断。我还尝试设置标签的高度,但仍然显示截断的文本。

enter image description here

在上面的屏幕截图中,您可以看到长文本没有完整显示, 我尝试以编程方式设置标签的高度,但它不起作用。 以下是设置高度的代码:

let attributes = NSMutableDictionary()
attributes.setValue(MyFonts.HELVETICA_NEUE_REGULAR_15, forKey: NSFontAttributeName)

var cellSize = labelText!.boundingRectWithSize(labelSize!, options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: attributes, context: nil)

labelHeight = cellSize.size.height
customCell?.subtitleLabel?.frame.size.height = labelHeight;

请为此提出任何解决方案。

2 个答案:

答案 0 :(得分:2)

如果您的单元格是使用自动布局创建的,则需要设置

customCell?.subtitleLabel?.setTranslatesAutoresizingMaskIntoConstraints(true)

答案 1 :(得分:0)

在这里你必须要注意一些问题。

  1. 需要覆盖自定义单元格中的layoutSubviews(),以便您可以为该标签文本设置框架
  2. 标签的行数应为零
  3. 动态计算标签的高度
  4. 动态单元格高度
  5. 我为动态细胞创建了演示。

    Sample demo

    enter image description here