我想在表格单元格的标签中显示的字符串有两种可能的宽度,并且我需要计算高度,以便正确记录表格单元格的高度。但是,无论我为约束大小做什么,我都会得到相同的高度,这在我想要的情况下是不正确的。我正在使用的代码:

CGFloat width = 300.0f;
NSString * value = @"LongText LongText LongText LongText LongText LongText";
CGSize contentSize = [value sizeWithFont: [UIFont systemFontOfSize: 14.0f]
                       constrainedToSize: CGSizeMake(width, CGFLOAT_MAX)
                           lineBreakMode: UILineBreakModeWordWrap];

当我检查contentSize变量时,宽度是252,高度是36,这是预期的。但是,如果不是将222.0f插入302.0fi而不是将width变量插入到222.0f中,而是将宽度设为189却将高度保持为36,并且仅将前4个LongText单词显示在2行中(第三行似乎在计算)。有人知道为什么会这样吗?

最佳答案

您的代码看起来正确。查看herehere以查看您的代码中是否有任何不妥之处。

关于iphone - 为什么sizeWithFont :constrainedToSize:lineBreakMode: returning an incorrect size?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1407106/

10-10 21:13