1

我正在尝试自定义我的 UITableViewCell 并将其子类化,然后按照此线程中的建议重载 layoutSubviews:

调整 UITableViewCell 中标签的位置

我可以通过这种方式更改标签的宽度,但我无法使用以下方法使标签变为多行。

self.textLabel.numberOfLines = 2;
self.textLabel.lineBreakMode = UILineBreakModeWordWrap;

它似乎是自动换行,但无论我的单元格有多高,它都只显示垂直居中的第一行。有什么建议么?

4

2 回答 2

0

这是我为完成这项工作所做的。不过,我认为这是一种解决方法,因为它看起来应该是 1-2 衬里才能使 UITableViewCell 中的标签执行多行。

基本上,我将 UITableViewCell 子类化,而不是重载 layoutSubviews,而是添加了一个 UILabel 对象,并在请求单元格的 cellForRowAtIndexPath 调用中简单地对其进行初始化。我不使用 UITableViewCell 附带的 textLabel,尽管我确实使用了 detailTextLabel(因为我还不需要调整大小或更改它)。

于 2010-10-03T04:15:27.960 回答
0

您只需要将 更改numberOfLines为 0。这应该可以解决问题。希望你发现了这一点,因为你问已经一年了。

self.textLabel.numberOfLines = 0;
self.textLabel.lineBreakMode = UILineBreakModeWordWrap;
于 2012-07-04T16:35:10.340 回答