如何将 UILabel 限制为 25 个字符并在超过使用自动布局时显示点

Posted

技术标签:

【中文标题】如何将 UILabel 限制为 25 个字符并在超过使用自动布局时显示点【英文标题】:How to limit UILabel to 25 characters and show dots if exceeds using auto layout 【发布时间】:2017-05-05 12:23:10 【问题描述】:

我想将 UILabel 文本限制为 25 个字符,如果文本长度超过我需要在末尾显示点(...)。我在情节提要中对 UILabel 进行了限制。

为了限制我使用下面的代码:

 if (cell.lblSubHeadingTop.text?.characters.count)! >= 25 

        cell.lblSubHeadingTop.text = cell.lblSubHeadingTop.text?.substring(with: 0..<25)

    

   cell.lblSubHeadingTop.adjustsFontSizeToFitWidth = true
    cell.lblSubHeadingTop.lineBreakMode = .byTruncatingTail

limit 工作正常,但如果长度超过,如何显示点?

任何解决此问题的帮助。

【问题讨论】:

从情节提要中只需在标签的属性检查器中选择 linebreakmode truncate trail 选项 限制标签大小以容纳 25 个字符。如果超过,标签将截断它 【参考方案1】:

你可以这样做,

  if (lbl.text?.characters.count)! >= 25 

        let index = lbl.text?.index((lbl.text?.startIndex)!, offsetBy: 25)
        lbl.text = lbl.text?.substring(to: index!)
        lbl.text = lbl.text?.appending("...")
    

    //lbl.adjustsFontSizeToFitWidth = true
    //lbl.lineBreakMode = .byTruncatingTail

你的constraints 应该是:Top,leading,fixed height

【讨论】:

以上是关于如何将 UILabel 限制为 25 个字符并在超过使用自动布局时显示点的主要内容,如果未能解决你的问题,请参考以下文章

将 iOS 中的 UIlabel 文本字段限制为两个字符,输入 3 个或更多时重置

如何限制输出的最大字符数? [复制]

将字体大小调整为 uilabel 宽度

UITextView 限制字符并显示剩余计数

Xcode:将不同高度的 UILabel 限制为固定大小的容器

如何将 AWS 应用程序负载均衡器配置为超过 25 个 SSL 证书限制