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

How to limit UILabel to 25 characters and show dots if exceeds using auto layout

我想将 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

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

解决这个问题的任何帮助。

你可以这样做,

  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!