2012-02-22 93 views
2

我有这样的文字:“我的文字是blabla blabla,lala lala”。UILabel截断

我想在我的UILabel这样的文本中有这样的内容:“我的文字是... lala”。

如何配置我的UILabel以显示中间有省略号的文本?

+2

UILineBreakModeMiddleTruncation – NeverBe 2012-02-22 11:15:18

+0

谢谢,它你是对的。 – samir 2012-02-22 11:44:55

+1

@JuanPabloBoeroAlvarez,你的答案不回答这个问题,因为它被标记为Objective-C问题,而不是Swift问题。 – WMios 2016-07-21 22:31:18

回答

2

您正在查找的词是“省略号”)

设置以下属性:

label.adjustsFontSizeToFitWidth = NO; 
label.lineBreakMode = UILineBreakModeMiddleTruncation; 

您还可以设置界面生成这些属性。

实施例从这里被盗: Getting UILabel to produce an ellipsis rather than shrinking the font

UPDATE:

这被弃用在IOS 6.当前的解决办法是稍微修改:

label.adjustsFontSizeToFitWidth = NO; 
label.lineBreakMode = NSLineBreakByTruncatingMiddle 
+0

谢谢,我可以这样做:label.adjustsFontSizeToFitWidth =否在Interface Builder中? – samir 2012-02-22 11:33:52

+0

谢谢,我不清楚在我的问题中,正确的是:UILineBreakModeMiddleTruncation – samir 2012-02-22 11:45:42

0

@DerekTomes Swift 2.x中的答案:

label.adjustsFontSizeToFitWidth = false 
label.lineBreakMode = .ByTruncatingMiddle 
+0

在'.ByTruncatingMiddle'之前没有必要拥有该部分。这是多余的。 – WMios 2016-07-21 22:26:59

+1

这个问题没有回答,因为它是针对Swift 2的,而且问题明确标记为Objective-C。此外,这不会增加新的信息,因为它只是已经接受的答案的副本。包括NSLineBreakMode无论经验水平如何都是多余的,因为它是不需要的代码。 – WMios 2016-07-22 16:31:25

+0

@WMios感谢您的反馈,现在添加了标签,作者得到了信任。除此之外,我们应该让社区选择这个答案是否有助于别人,您的唯一标准不应该用于此目的,因为您可能忽视了人们的知情权,并且完全误导了网站的目的。 – 2016-07-22 20:59:13