我只是想知道如何计算标签的准确高度。我读了同样的问题,但我的问题是关于标签的高度不同。以下代码我用于根据标签高度计算单元格的动态高度。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
CGSize size;
Comment *objCommnt = [arrOfComments objectAtIndex:indexPath.row];
NSString *msg = objCommnt.comment;
CGSize textSize = { 260.0, 10000.0 };
size = [msg sizeWithFont:[UIFont boldSystemFontOfSize:12]
constrainedToSize:textSize
lineBreakMode:UILineBreakModeWordWrap];
size.height += padding;
return size.height+padding +5;
return 100;
}
填充
static CGFloat padding = 20.0;
对于具有适当间距的评论者,它给出了正确的尺寸,并且可以找到如下图所示:
对于带有连续单词的文本的注释意味着在两个单词之间有巨大的空间,这给了我高度,如下图所示
我的第二张图片你可以看到我的问题。通过将标签 92 放入检查其高度动态时,检查nib文件所需的高度需要做什么,其结果为 80 为什么是它呢? 我认为它是由于两个单词之间的间距更长或更长的单词然后空格任何机构都知道为什么它会像任何帮助将被欣赏。谢谢。
答案 0 :(得分:0)
您已将标签宽度设置为260px,但是表格视图中标签的实际宽度是多少?
答案 1 :(得分:0)
计算身高很容易,享受:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
Comment *objCommnt = [arrOfComments objectAtIndex:indexPath.row];
NSString *cellText = objCommnt.comment;
UIFont *cellFont = [UIFont fontWithName:@"Helvetica-Bold" size:20.0f];
CGSize constraintSize = CGSizeMake(260.0, MAXFLOAT);
CGSize labelSize = [cellText sizeWithFont:cellFont
constrainedToSize:constraintSize
lineBreakMode:UILineBreakModeWordWrap];
return labelSize.height + 20.0f;
}
希望它会有所帮助!
UPDATE !!! 你只需要:
return size.height+padding +5;
而不是:
return size.height+padding +5;
return 100;