0

我在自定义 UITableView 单元格中显示多行 UILabel 时遇到问题。

我目前正在使用它来计算单元格的高度......

NSString *cellText = [howtoSection objectAtIndex:row];
UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:15.0];
CGSize constraintSize = CGSizeMake(260.0f, MAXFLOAT);
CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];

return labelSize.height + 20;

...这是针对标签本身的。

// Calc the height
NSString *cellText = [howtoSection objectAtIndex:row];
CGSize constraintSize = CGSizeMake(260.0f, MAXFLOAT);
CGSize labelSize = [cellText sizeWithFont:cell.textLabel.font constrainedToSize:constraintSize lineBreakMode:cell.textLabel.lineBreakMode];

// Create the label frame
CGRect newFrame = cell.contentLabel.frame;
newFrame.size.height = labelSize.height;
cell.contentLabel.frame = newFrame;

[cell.contentLabel setText:[howtoSection objectAtIndex:row]];

一切都按计划进行,只是标签被推下并从其单元中推出。如果不是因为这个明显的上边距,一切都会合适。

这是我在模拟器中看到的图片的链接...

iPhone 渲染错误

在这里的任何帮助将不胜感激。

4

2 回答 2

1

我没有看到您cell.contentLabel.font在显示的代码中进行设置。

标签大小计算也用于计算其大小,但使用变量cell.textLabel.font进行渲染。contentLabel

您是否可以使用与计算不同的字体进行渲染?

于 2009-06-12T05:24:22.547 回答
0

您如何将标签添加到 contentView?看起来原来的定位是错误的,因为高度看起来是正确计算的。如果您注释掉分配新框架,标签的位置是否正确?我敢打赌,事实并非如此。

于 2009-06-12T05:51:32.137 回答