当有基线偏移量 5 的上标时,具有多行的 UILabel 不显示所有行

UILabel with multiple line doesnt show all the lines when there is a superscript of baselineOffset 5

我在 tableviewcell 中有一个 UILabel。我已经为标签提供了前导、尾随顶部和底部约束。我已将 tableview 行高设置为 UITableview.automaticDimension,估计行高为 100。

然后在tableviewcell中加入如下代码

label.numberOfLines = 0
label.lineBreakMode = .byWordWrapping

此外,我的标签以数字上标为前缀,其中 baselineOffset 5.The 上标的字体大小为 6,其余文本的字体大小为 11。为此,我添加了 attributedText 到我的标签。

当我加载 tableview 时,所有的行都没有通过,文本在中间被切断。

我尝试了 google 中的许多解决方案,但没有成功。任何人都可以分享您的想法,关于我如何解决这个问题。

我使用 2 个 UILabel 完成了上面的工作。每当我在开始时使用上标时,它最终都会比原来的 content.So 少一行前导约束并在第二个标签前加上所需的 space 前缀,如下所示。还通过为容器提供所需的顶部 space 约束来调整第一个标签。

secondLabel.text = (row > 8 ? " " : " ") + secondLabelContent

注意:当我在标签内容的末尾给出上标时,它与单个标签中的 attributedText 一起工作正常。