2011-01-09 214 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