gpt4 book ai didi

UITableViewAutomaticDimension 未在 UITableviewCell 的 UILabel 中使用表情符号字符设置正确的高度

转载 作者:行者123 更新时间:2023-12-03 17:14:57 26 4
gpt4 key购买 nike

我正在使用 UITableViewAutomaticDimension 来获取 UITableview 单元格的动态高度。当我在 UITableviewCell 内的标签中设置纯文本时,一切正常。

当我在标签中设置纯文本和表情符号字符时,单元格高度会出现问题。单元格高度确实会动态增加,但由于表情符号字符而导致高度错误。我认为 UITableview 可能将 unicode 视为文本而不是表情符号图标,因此它仅返回纯文本高度。

在我的例子中,标签的 x 原点也是动态的。

请参阅以下屏幕截图以了解发生的问题,

有什么建议?

最佳答案

删除 UITableViewAutomaticDimension,通过下面给出的方法动态计算标签的高度并相应地管理单元格高度。

//--- 计算字符串的高度 ---//

+(CGFloat)textHeight:(NSString*)text withFont:(UIFont*)font andMaxWidth:(CGFloat)maxWidth 
{
CGFloat maxHeight = 99999;
CGSize maximumLabelSize = CGSizeMake(maxWidth,maxHeight);
NSDictionary *attributes = @{NSFontAttributeName: font};
CGRect expectedLabelSize = [text boundingRectWithSize:maximumLabelSize options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading) attributes:attributes context:nil];
return expectedLabelSize.size.height;
}

关于UITableViewAutomaticDimension 未在 UITableviewCell 的 UILabel 中使用表情符号字符设置正确的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40399565/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com