当文本太长时,如何在文本中间而不是末尾添加UI标签的三个点

  • 本文关键字:文本 标签 UI 添加 三个 中间 ios uilabel
  • 更新时间 :
  • 英文 :


例如,我有以下两个字符串:"橱窗里的小鸟是怎么蒙奇的?">《S22-E7》。我想在标签中展示以下内容:"How Munched is That Birdie in…S22-E7">如果根据标签的大小,字符串太大,不适合它"。您可以看到,三个点总是放在第一个字符串中,第二个字符串总是显示满。

我怎样才能做到这一点?

以下是如何做到这一点。

yourlabel.adjustsFontSizeToFitWidth = false
yourlabel.lineBreakMode = .byTruncatingMiddle

您可以将UILabel的ParagraphStyle LineBreakMode设置为byTruncatingMiddle,这在大多数情况下可能适用于精心规划的标签大小。来自文档:

显示该行,以便开始和结束适合容器,中间缺失的文本由省略号图示符指示。此模式用于单行布局

如果你想保证"S22-E7"字符串的没有被截断,你可以使用两个标签和设置布局约束来进行更多的控制,这样受保护标签的宽度就可以保留下来,这样它就可以在可能的时候显示完整的字符串,但在大多数情况下,这可能是过分的。

如果你决定走另一条路,根据检测到的宽度和字体,手动操作显示的字符串,你可能会发现这个答案很有帮助。

最新更新