【问题标题】:UILabel TruncationUIL标签截断
【发布时间】:2012-03-12 17:07:49
【问题描述】:

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

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

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

【问题讨论】:

  • UILineBreakModeMiddleTruncation
  • @JuanPabloBoeroAlvarez,你的回答没有回答这个问题,因为这被标记为 Objective-C 问题,而不是 Swift 问题。

标签: ios objective-c swift uilabel


【解决方案1】:

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

设置以下属性:

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

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

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

更新:

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

label.adjustsFontSizeToFitWidth = NO;
label.lineBreakMode = NSLineBreakByTruncatingMiddle 

【讨论】:

  • 谢谢,我能做到吗:在 Interface Builder 中 label.adjustsFontSizeToFitWidth= NO?
  • 谢谢,我的问题并不清楚,正确的是:UILineBreakModeMiddleTruncation
【解决方案2】:

@DerekTomes 在 Swift 2.x 中回答:

label.adjustsFontSizeToFitWidth = false
label.lineBreakMode = .ByTruncatingMiddle

【讨论】:

  • .ByTruncatingMiddle之前的部分不需要。这是多余的。
  • 这无法回答这个问题,因为它是针对 Swift 2 的,并且问题被明确标记为 Objective-C。此外,这不会向帖子添加新信息,因为它只是已接受答案的副本。无论经验水平如何,包括 NSLineBreakMode 都是多余的,因为它是不需要的代码。
  • @WMios 感谢您的反馈,现在标签已添加,作者已获得荣誉。除此之外,我们应该让社区来选择这个答案是否对某人有帮助,你唯一的标准不应该用于那个目的,因为你可能忽视了人们的知情权,并且完全误导了网站的目的。
【解决方案3】:

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

【讨论】:

    猜你喜欢
    • 2012-05-04
    • 2012-11-08
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 2021-11-18
    • 1970-01-01
    相关资源
    最近更新 更多