多行 UILabel 在 UITableViewCell 内的较小 iPhone 中截断或剪切字符串

Posted

技术标签:

【中文标题】多行 UILabel 在 UITableViewCell 内的较小 iPhone 中截断或剪切字符串【英文标题】:Multiline UILabel truncating or Clipping string in smaller iPhones inside UITableViewCell 【发布时间】:2018-02-28 15:09:38 【问题描述】:

我一直在做一个项目,我需要实现一个简单的消息/聊天 UI。出于测试目的,在使用 Lorem Ipsum 时,我注意到,即使在具有多行标签(并且标签充当多行)之后,在 SE 或 5s 等较小的 iPhone 中运行时,一些文本也会被截断并显示三个点。像下面这样:

但是如果我在 8plus 或 7plus 中运行它就不会发生这种情况。

经过反复试验,我发现如果我将自动缩小设置为最小字体比例或最小字体大小,问题就解决了。像这样:

但这会使文本大小不等,无法查看。我不知道为什么会这样。

【问题讨论】:

张贴缩图文字 对不起,我还没有足够的声望直接添加照片。所以我添加了链接。请点击蓝色文字。 @HiteshAgarwal 我必须访问您的代码以检查可能出现的问题 正如我所提到的,该问题仅发生在较小的 iPhone 中。它在 8plus 或 7plus 等大型手机中显示得很好。我有一个疯狂的猜测,也许标签的高度是根据每个字符高度和总字符数而不是行数和高度计算的。您可以看到在第一行的末尾浪费了一些空间和其他空间。由于标签是固定的字体大小,因此调整高度中的那些额外空格会造成麻烦。因此发生了中断.. 我可以制作一个模拟项目并给你 git 链接。 @HiteshAgarwal 【参考方案1】:

我认为您应该 label.numberOfLines = 0 并将行高和估计设置为自动

【讨论】:

我已经完成了所有这些。但这没有帮助。我在问题中提到多线正在发生。但里面的文字正在下降。

以上是关于多行 UILabel 在 UITableViewCell 内的较小 iPhone 中截断或剪切字符串的主要内容,如果未能解决你的问题,请参考以下文章

UItableviewcell中的多行UIlabel使用Autolayout

UILabel 中的多行文本

如何在多行 UILabel 中找到最后一个文本行的位置,或者让 UILabel 有 0 填充

多行 UILabel 高度,横向自动布局更高

在 Tableview 中,我想知道如何在单元格最后位置设置多行 UILabel

iOS:动态添加多行 UILabel