2017-08-28 51 views
-1

例如,我有以下两个字符串:“窗户里有多少小鸟?”“S22-E7”。我想在标签中提供以下内容:“How to be Birdie in ... S22 - E7”如果字符串根据标签尺寸太大而不适合它“。您怎么看,这三个点是第一个字符串中始终放置,第二个字符串总是显示满。当文本太长时,如何在文本中间而不是末尾添加UIlabel的三个点?

我怎样才能做到这一点?

+0

设置'lineBreakMode'到'byTruncatingMiddle'您的UILabel –

+0

你的问题离开了很多重要的细节。这是通过故事板或通过代码设置的标签吗?如果通过代码,什么语言? – rmaddy

回答

0

您可以设置UILabel的ParagraphStyle LineBreakModebyTruncatingMiddle,这将很可能在大多数情况下工作仔细计划标签尺寸从文档:

该行显示,以便beginnin g并结束放入容器中,中间缺少的文字用省略号字形表示。这种模式用于单行布局

如果要保证的没有“S22 - E7”的字符串被截断,你会使用两种标签,并设置布局限制有更多的控制,使得宽度被保护的标签被保留下来,以便尽可能显示完整的字符串,但这在大多数情况下可能是矫枉过正的。

如果决定通过手动操纵显示的字符串来决定走另一条路线,那么您可能会发现this answer有帮助,方法是根据检测到的字符宽度和字体来显示多少字符。

0

以下是如何操作。

yourlabel.adjustsFontSizeToFitWidth = false 
yourlabel.lineBreakMode = .byTruncatingMiddle 
+0

请使用正确的格式。 –

相关问题