我的问题几乎与this设置大小相似,以显示标签中的所有文本,但它与表格视图中的其他单元格重叠,因为单元格的高度不同。计算我目前正在使用此方法的高度
+(CGSize)CommentSize:(NSString*)comment {
return [comment sizeWithFont:[UIFont boldSystemFontOfSize:messageTextSize] constrainedToSize:CGSizeMake(265, CGFLOAT_MAX) lineBreakMode:UILineBreakModeWordWrap];
}
它正确计算文本的高度,但表情符号占用的额外高度(6像素)没有被添加到消息高度。
我还尝试将文本设置为另一个标签,使其成为sizetofit并获取高度并像这样传递它但它提供与上述约束方法相同的高度
+(CGSize)CommentSize:(NSString*)comment {
UILabel *reviews = [[UILabel alloc]initWithFrame:CGRectMake(14, 13,265,30)];//Set frame
reviews.numberOfLines=0;
reviews.lineBreakMode = UILineBreakModeWordWrap;
reviews.font = [UIFont boldSystemFontOfSize:14];
reviews.text = comment;
[reviews sizeToFit];
CGFloat reviewlblheight = reviews.frame.size.height;
CGSize maxlblSize = CGSizeMake(265,reviewlblheight);
return maxlblSize;
}
我该如何计算高度。请帮帮我们
找到与此问题https://github.com/mattt/TTTAttributedLabel/issues/82相关的其他链接。试图按照mooshee的建议实施解决方案。但无法解决问题。任何人都可以建议我如何解决这个问题。
解决方案
上面第二个代码段的小编辑解决了这个问题 - 将UILabel更改为TTTAttributelabel 使用TTT和UIlabel计算的高度不同。
任何遇到同一问题的人都可以使用第二个代码段。我不确定它是否是正确的方法,但它解决了问题。
谢谢。
答案 0 :(得分:-3)
检查此代码......
CGRect labelFrame = label.frame;
labelFrame.size = [label sizeThatFits:CGSizeMake(100, 9999)];
[label setFrame:labelFrame];