Iphone 如何计算包含表情符号的文本的高度
我的问题几乎类似于将大小设置为适合显示标签中的所有文本,但由于单元格的高度不同,它与表视图中的其他单元格重叠。要计算我当前使用的高度,请使用此方法Iphone 如何计算包含表情符号的文本的高度,iphone,uitableview,nsstring,uilabel,emoji,Iphone,Uitableview,Nsstring,Uilabel,Emoji,我的问题几乎类似于将大小设置为适合显示标签中的所有文本,但由于单元格的高度不同,它与表视图中的其他单元格重叠。要计算我当前使用的高度,请使用此方法 +(CGSize)CommentSize:(NSString*)comment { return [comment sizeWithFont:[UIFont boldSystemFontOfSize:messageTextSize] constrainedToSize:CGSizeMake(265, CGFLOAT_MAX) lineBreakMo
+(CGSize)CommentSize:(NSString*)comment {
return [comment sizeWithFont:[UIFont boldSystemFontOfSize:messageTextSize] constrainedToSize:CGSizeMake(265, CGFLOAT_MAX) lineBreakMode:UILineBreakModeWordWrap];
}
它正确计算文本的高度,但表情符号占用的额外高度(6像素)不会添加到消息高度
我还尝试将文本设置为另一个标签,使其大小合适,并获得高度,然后像这样传递,但它给出的高度与上面的约束方法相同
+(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;
}
我如何计算高度。请帮帮我
找到与此问题相关的另一个链接。尝试按照mooshee的建议实施解决方案。但无法解决问题。谁能建议我如何解决这个问题
解决方案
对上面的第二个代码段进行一个小的编辑就解决了这个问题-将UILabel更改为TTTATributableLabel使用TTT和UILabel计算的高度是不同的
任何其他面临相同问题的人都可以使用第二个代码段。我不确定这是不是正确的方法,但它解决了问题
谢谢。请检查此代码
CGRect labelFrame = label.frame;
labelFrame.size = [label sizeThatFits:CGSizeMake(100, 9999)];
[label setFrame:labelFrame];
注释大小调整并重新检查发生了什么?@mindfreak同样的事情它覆盖了其他单元格。它成功了,感谢提示@vamsi575kg增加此标签的高度并尝试:UILabel*reviews=[[UILabel alloc]initWithFrame:CGRectMake(1413270300)];您是否使用textfield或textview输入输入?我认为您必须为每行添加额外的6pix,因此首先计算行数,然后添加6*no.of.line。第二个选项是将字体大小增加到6pix.:)是的,我确实明白。但问题是,如果文本中没有表情符号,它将显示大量空白。将字体大小增加到6pix不是一个好主意(对我来说)。任何我如何做了一些工作,并得到了解决方案,我将张贴它很快。非常感谢@mindfreak