我的问题几乎与此设置大小相似,以适应显示标签中的所有文本,但由于单元格的高度不同,它与表格视图中的其他单元格重叠。计算我目前使用这种方法的高度
+(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 计算的高度不同。
任何其他面临相同问题的人都可以使用第二个代码段。我不确定这是否是正确的方法,但它解决了问题。
谢谢你。