在UITableView
需要显示一长串类似聊天的对话(通常包含表情符号)中,会发生大小计算错误。
我的问题是,如果一个字符串的长度恰到好处,并且我使用sizeWithFont
,我在第一次测量时使用sizewithfont
得到的字符串长度不正确,从而导致“换行符”。
我认为这是因为字符串“:-)”比实际的笑脸图标更宽。
证据可以在这里看到:
现在,在其他一些堆栈中,有些人声称sizeWithFont
只会解释字符串,而不是表情符号,这对我来说没有意义,因为它“最终”会正确......
但他们建议改用 sizeToFit,所以我决定试一试。
Bam,同样的结果。
有谁知道如何对付这个?是否有boolean
检查“标签是否已完成表情符号处理”以便我可以跳过该呼叫?
两次运行同一行没有任何作用,似乎需要绘制视图,然后才sizeWithFont
意识到它的错误。
显示的列在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
自定义单元格上的段中运行。我也可以在完全常规的 UITableViewCell 上复制错误,所以似乎不是这样。