【问题标题】:How to make UILabel text appear with ellipsis at the end when text is longer than label's width当文本长于标签的宽度时,如何使 UILabel 文本在末尾出现省略号
【发布时间】:2016-09-02 15:09:57
【问题描述】:

我的问题是UILabel

它包含的文本比 UILabel 的实际宽度长得多。所以我希望它在末尾出现“...”(省略号)以表示还有更多文本。

我玩弄了水平内容拥抱优先级(使其小于 251),但似乎没有什么区别。

现在它只是在宽度填满时截断文本。

【问题讨论】:

标签: ios xcode swift autolayout uilabel


【解决方案1】:

这很容易:

  1. 例如,创建一个名为“aLabel”的 UILabel。

  2. 创建一个 IBOutlet。

  3. 做:

    aLabel.adjustsFontSizeToFitWidth = false
    aLabel.lineBreakMode = .byTruncatingTail
    

【讨论】:

  • 感谢您的回复。我试过但没有效果。最后仍然在没有日食的情况下截断文本。难道是我给UILabel添加了宽度自动布局约束?
  • @Polis 这太奇怪了。当我创建一个 UILabel 并为其提供约束时,如果文本太长,则会自动出现一个省略号。我确实添加了宽度约束。请尝试重新创建您的 UILabel :)
【解决方案2】:

如果您通过 Storyboard 添加 UIlabel,以下步骤可能会很有用:

  1. 选择您要在末尾显示“...”的标签

  2. 转到属性检查器

  3. 选择“换行符”并选择一个选项Truncate Tail

  4. 通过提供比标签大小更大的内容大小的文本来检查它。

【讨论】:

    【解决方案3】:

    目标 C:

    yourUILabel.adjustsFontSizeToFitWidth = false;
    yourUILabel.lineBreakMode = NSLineBreakByTruncatingTail;
    

    【讨论】:

      猜你喜欢
      • 2014-02-06
      • 2013-08-07
      • 2016-11-11
      • 1970-01-01
      • 2017-11-22
      • 2013-05-02
      • 2015-02-03
      • 2020-09-24
      • 2016-05-27
      相关资源
      最近更新 更多