【发布时间】:2013-07-22 13:23:26
【问题描述】:
我的问题几乎类似于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 的建议实施解决方案。但无法解决问题。任何人都可以建议我如何解决这个问题。
解决方案
对上面第二个代码 sn-p 的小修改解决了这个问题 - 将 UILabel 更改为 TTTAttributelabel 使用 TTT 和 UIlabel 计算的高度不同。
遇到相同问题的任何其他人都可以使用第二个代码 sn-p。我不确定这是否是正确的方法,但它解决了问题。
谢谢。
【问题讨论】:
-
评论 sizeToFit 并重新检查发生了什么?
-
@mindfreak 与其他单元格重叠。
-
成功了,感谢@vamsi575kg 的提示
标签: iphone uitableview nsstring uilabel emoji