cell.bodyText.numberOfLines = 0
cell.bodyText.text = newsBody
cell.bodyText.sizeToFit()
我将行数设置为0,因为行数可以变化(我正在检索新闻文章,因为每篇新闻文章的长度明显不同,numberOfLines为0)
如果我在为sizeToFit()
分配标签后没有使用newsBody
,并检查标签高度(cell.bodyText.frame.size.height)
,我会得到非常大的数字(当我测试它时,一篇文章说有25行文字,高度显然是4000)。如果我使用sizeToFit
然后检查高度,无论标签有多短或多长,我都会得到21(21是我设置UILabel的高度)故事板)。
如何准确表示UILabel中有多少行,甚至只是标签的高度?
答案 0 :(得分:1)
我假设你在tableView(_:cellForRowAtIndexPath:)
做这项工作。这对查询最终布局来说不可靠。尝试使用委托方法tableView(_:willDisplayCell:forRowAtIndexPath:)
。这是在显示单元格之前立即调用的,并且是解决任何最终布局问题的合适位置,因为此时已应用了所有内容。