2015-11-15 34 views
2
cell.bodyText.numberOfLines = 0 

cell.bodyText.text = newsBody 
cell.bodyText.sizeToFit() 

我設置的行數爲0,因爲線路的數量可以改變(我獲取新聞文章和因爲每一個新聞文章的長度是明顯不同的,numberOfLines爲0)如何確定在UILabel(Swift)中使用的行數?

如果我不使用sizeToFit()newsBody貼在標籤上,然後檢查標籤高度(cell.bodyText.frame.size.height),我得到了非常大的數字(當我測試它時,一篇文章有​​25行文字,高度顯然是4000)如果我使用sizeToFit然後檢查無論標籤有多長或多長,我都會得到21(21是我在故事板中設置UILabel的高度)

如何獲得UILabel中有多少行甚至是標籤高度的準確表示?

回答

1

我假設你在tableView(_:cellForRowAtIndexPath:)中完成這項工作。這對於查詢最終佈局並不可靠。嘗試使用委託方法tableView(_:willDisplayCell:forRowAtIndexPath:)。這在顯示單元格之前立即被調用,並且是解決任何最終佈局問題的適當位置,因爲在這一點上已經應用了一切。

+0

雖然這仍然不能解決我的問題。我仍然得到完全相同的數字 – Schuey999

+0

在'willDisplayCell'中,'cell.bodyText.frame.size'與您在屏幕上看到的大小不符? –

+0

不幸的不是。我不知道發生了什麼事。 – Schuey999

相關問題