如何使用自动布局将 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
!
我想将 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
!