【问题标题】:UILabel with multiple line doesnt show all the lines when there is a superscript of baselineOffset 5当基线偏移量为 5 的上标时,具有多行的 UILabel 不显示所有行
【发布时间】:2019-08-30 18:50:45
【问题描述】:

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

然后在tableviewcell中添加如下代码

label.numberOfLines = 0
label.lineBreakMode = .byWordWrapping

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

当我加载表格视图时,所有的行都没有通过,文本在中间被切断了。

我尝试了谷歌的许多解决方案,但没有运气。谁能分享你的想法,我该如何解决这个问题。

【问题讨论】:

  • “我的标签也以数字的上标为前缀”,这有关系吗?如果你不这样做,问题会消失吗?
  • 单元格还包含其他内容吗?
  • @matt:我刚刚添加了这一点,考虑它是否与标签调整有关。标签包含一个上标,然后它有 3,4 行文本。
  • 好的,但你没有回答我的问题,也没有提供足够的信息来重现问题。
  • 但这仍然不足以让我重现。如果您无法发布示例或提供更好的说明,我无能为力。

标签: uitableview uilabel swift4


【解决方案1】:

我使用 2 个 UILabel 完成了上述工作。每当我一开始使用上标时,它就会比原始内容少一行。所以我为上标使用一个标签,为其余内容使用另一个标签。两者都具有相同的前导约束和前缀第二个带有所需空格的标签,如下所示。还通过为容器提供所需的顶部空间约束来调整第一个标签。

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

注意:当我在标签内容的末尾添加上标时,它可以与单个标签中的属性文本一起正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-10
    • 2015-09-13
    • 1970-01-01
    • 2020-12-23
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 2019-06-08
    相关资源
    最近更新 更多