2011-01-09 78 views
1

我用這個代碼,以使如何避免文本截斷與UITableViewCellStyleValue2

cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:CellIdentifier] autorelease]; 

如果你不熟悉UITableViewCellStyleValue2,正文所示,然後詳細文本顯示後,我的UITableViewCell的IT ,通常以不同的顏色。但是,當我這樣做時,我的主要文本被截斷,如果它比一個短詞長。我想強制它不截斷主要文本並顯示整個主文本,然後顯示其後的詳細文本。我怎樣才能做到這一點?

回答

2

您必須繼承UITableViewCell。您需要重寫layoutSubviews方法以根據需要調整文本標籤幀。我不確定您是否可以使用標準textLabeldetailTextLabel屬性來執行此操作 - 您可能必須創建自己的文本標籤,而不是使用這些屬性。

+0

對不起,我是初學者,但你能爲此提供一個代碼示例嗎?我不太瞭解如何調整文本標籤的邊界。 – Regan 2011-01-16 05:33:29

0

這不完全是你想要的,但是你可以使主標籤中的文本重新變大,因爲它變得更長。設置主文本的UILabel上的minimumFontSize屬性。這樣,如果文本太長,它會縮小字體,直到截斷它之前的最小大小。如果你需要更復雜的東西,你可能需要製作自己的uiTableViewCell子類,並且用自己的文字大小製作自己的標籤。

+0

`minimumFontSize`已經默認爲0.您還必須設置`adjustsFontSizeToFitWidth`來啓用收縮。單元格是垂直居中的,所以將`baselineAdjustment`設置爲`UIBaselineAdjustmentAlignCenters`也是一個好主意。 – nschum 2012-07-05 08:51:47