2016-03-05 91 views
1

是否有可能獲得一個開箱即用的UITableViewCell的標籤來執行多行而不需要子類化?我嘗試了以下設置,但不起作用。標籤的位置就像您期望的那樣,標籤之間有預期的間距,但我只能看到一行文字。UITableViewCell標籤和多行

cell.detailTextLabel.numberOfLines = 2; 
cell.detailTextLabel.lineBreakMode = NSLineBreakByWordWrapping; 

回答

2

使用sizeToFit

cell.detailTextLabel.numberOfLines = 2; 
cell.detailTextLabel.lineBreakMode = NSLineBreakByWordWrapping; 
cell.detailTextLabel.text = @"this string is too long to fit on one line"; 
[cell.detailTextLabel sizeToFit]; 
+0

它在委託調用中不起作用,但它在'UITableViewCell'子類的'-layoutSubviews'中起作用,所以至少我不必做任何測量。 –

+0

你的意思是在數據源調用中嗎?我只是將它添加到cellForRowAtIndexPath爲我的非子類,UITableViewCells之一,它工作正常。 – danh

+0

是的,它不適用於我。 '-sizeToFit'只適用於'-layoutSubviews'。 –

0

我不能評論添加到您的文章,所以我需要張貼的響應:

嘗試改變cell.detailTextLabel框架text設置得

+0

感謝您的評論。我不想要一個解決方案,我不得不子類化或測量文本。 UITableViewCell根據文本的行數正確調整框架,但它僅在展開的框架中顯示單行文本。 –