如何将 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 个或更多时重置