我知道这是堆栈溢出的一个非常常见的问题,但是,我无法通过查看有关该主题的各种线程来弄清楚发生了什么。
我在单元格中有一个带有 UITableViewCell 子类和 UILabel 的 nib 文件。所需的行为是 UILabel 垂直扩展并显示多行文本(如果文本足够长)。我已将界面生成器中的行数属性设置为 0,并且还将换行符设置为自动换行(也在界面生成器中)。当我显示单元格时,我将单元格的高度设置为 sizeWithFont: constrainedToSize: linebreakmode: 使用单元格文本的函数。单元格的高度正确返回,但是 UILabel 不会换行,也不会垂直扩展。
知道可能出了什么问题吗?
谢谢!
**更新
这是我用来计算单元格高度的代码:
+ (CGFloat)heightForCellGiveText:(NSString *)text
{
CGSize size = [text sizeWithFont:[self defaultMainFont] constrainedToSize:CGSizeMake(LABEL_WIDTH, CGFLOAT_MAX) lineBreakMode:NSLineBreakByWordWrapping];
return size.height + (2 * VERT_PADDING) + INTER_LABEL_PADDING;
}
我希望让界面生成器自动处理与实际调整标签(而不是单元格)大小有关的所有事情