例如,我有以下两个字符串:“窗户里有多少小鸟?”和“S22-E7”。我想在标签中提供以下内容:“How to be Birdie in ... S22 - E7”如果字符串根据标签尺寸太大而不适合它“。您怎么看,这三个点是第一个字符串中始终放置,第二个字符串总是显示满。当文本太长时,如何在文本中间而不是末尾添加UIlabel的三个点?
我怎样才能做到这一点?
例如,我有以下两个字符串:“窗户里有多少小鸟?”和“S22-E7”。我想在标签中提供以下内容:“How to be Birdie in ... S22 - E7”如果字符串根据标签尺寸太大而不适合它“。您怎么看,这三个点是第一个字符串中始终放置,第二个字符串总是显示满。当文本太长时,如何在文本中间而不是末尾添加UIlabel的三个点?
我怎样才能做到这一点?
您可以设置UILabel的ParagraphStyle LineBreakMode到byTruncatingMiddle,这将很可能在大多数情况下工作仔细计划标签尺寸从文档:
该行显示,以便beginnin g并结束放入容器中,中间缺少的文字用省略号字形表示。这种模式用于单行布局
如果要保证的没有“S22 - E7”的字符串被截断,你会使用两种标签,并设置布局限制有更多的控制,使得宽度被保护的标签被保留下来,以便尽可能显示完整的字符串,但这在大多数情况下可能是矫枉过正的。
如果决定通过手动操纵显示的字符串来决定走另一条路线,那么您可能会发现this answer有帮助,方法是根据检测到的字符宽度和字体来显示多少字符。
以下是如何操作。
yourlabel.adjustsFontSizeToFitWidth = false
yourlabel.lineBreakMode = .byTruncatingMiddle
请使用正确的格式。 –
设置'lineBreakMode'到'byTruncatingMiddle'您的UILabel –
你的问题离开了很多重要的细节。这是通过故事板或通过代码设置的标签吗?如果通过代码,什么语言? – rmaddy