2010-05-25 66 views

回答

10

textLabel.numberOfLines = 0; 

,如果你願意,可以將其設置爲一個固定的線路數量。這可能是設置lineBreakMode一個好主意,你可能會需要實現:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 

使用:

NSString sizeWithFont:constrainedToSize: 
1

看起來像這個問題Custom Cell Height,對吧?我並沒有真正理解單詞換行,但我認爲你想根據文本長度來改變單元格大小,對嗎?所以你可以看看上面的問題和答案

+0

將單元格高度設置得較大不能使文本適合。它仍然會給截斷的文本顯示「...」。 – 2010-05-25 16:03:43

+0

「單元格中有一個標籤,其文本是一個NSString對象,並且字符串的長度可能是可變的,因此我無法爲UITableViews:heightForCellAtIndex方法中的單元格設置一個常量高度。」(從問題中複製),如何把它放入一些UILabel並再試一次? – vodkhang 2010-05-25 16:09:30

+0

如果我在單元格上設置標籤屬性,我可以使它成爲wordwrap。如果標籤的框架超出了單元格的大小,那麼我需要定義一個自定義單元格高度。我想這兩個變化都需要做:) – 2010-05-25 16:14:23

2

在你的標籤上設置numberOfLines> 1並設置合適的lineBreakMode。您可能需要修改標籤的框架以獲得足夠的空間。你可以在tableView:willDisplayCell:forRowAtIndexPath:中執行你的表視圖委託。

4

您將有指定的行文本將使用的數量。 將其設置爲零將自動包裝它。

cell.textLabel.numberOfLines=0; // line wrap 
相關問題