UILabel 截断

UILabel Truncation

提问人:samir 提问时间:2/22/2012 最后编辑:Juan Boerosamir 更新时间:9/19/2019 访问量:570

问:

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

我想把文字写成这样:“我的文字是......拉拉”。UILabel

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

iOS Objective-C Swift UI标签

评论

2赞 NeverBe 2/22/2012
UILineBreakModeMiddleTruncation
1赞 Wyetro 7/22/2016
@JuanPabloBoeroAlvarez,您的答案并不能回答问题,因为这被标记为 Objective-C 问题,而不是 Swift 问题。

答:

4赞 Derek Tomes 2/22/2012 #1

你要找的词是“省略号”;)

设置以下属性:

label.adjustsFontSizeToFitWidth = false;
label.lineBreakMode = .byTruncatingMiddle;

您也可以在界面构建器中设置这些属性。

从这里窃取的示例:让 UILabel 生成省略号而不是缩小字体

更新:

这在 iOS 6 中已弃用。当前的解决方案是稍作修改:

label.adjustsFontSizeToFitWidth = NO;
label.lineBreakMode = NSLineBreakByTruncatingMiddle 

评论

0赞 samir 2/22/2012
谢谢,我可以做吗:label.adjustsFontSizeToFitWidth= NO in Interface Builder ?
0赞 samir 2/22/2012
谢谢,我的问题不清楚,正确的是:UILineBreakModeMiddleTruncation
0赞 Juan Boero 7/22/2016 #2

@DerekTomes Swift 2.x 中的答案:

label.adjustsFontSizeToFitWidth = false
label.lineBreakMode = .ByTruncatingMiddle

评论

0赞 Wyetro 7/22/2016
之前没有必要有零件。这是多余的。.ByTruncatingMiddle
1赞 Wyetro 7/23/2016
这无法回答这个问题,因为它是针对 Swift 2 的,并且这个问题显然被标记为 Objective-C。此外,这不会向帖子添加任何新信息,因为它只是已接受答案的副本。无论经验水平如何,包括 NSLineBreakMode 都是多余的,因为它是不需要的代码。
0赞 Juan Boero 7/23/2016
@WMios感谢您的反馈,现在添加了标签,并赋予了作者荣誉。除此之外,我们应该让社区选择这个答案是否对某人有帮助,你唯一的标准不应该用于这个目的,因为你可能忽视了人们的知情权,并完全误导了网站的目的。
0赞 Talha Ahmed 9/19/2019 #3

尝试选择标签,然后在属性检查器中将换行符设置为截断中间image reference