[英]How to truncate UILabel to show '…' at the end of the string
我有一個UILabel()
正在嘗試截斷。
let nameLabel: UILabel = {
let label = UILabel()
label.textColor = .black
label.translatesAutoresizingMaskIntoConstraints = false
label.font = UIFont.systemFont(ofSize: 11)
label.numberOfLines = 0
//label.lineBreakMode = .byTruncatingTail
//label.adjustsFontSizeToFitWidth = false
label.textAlignment = .center
label.sizeToFit()
return label
}()
這是我的約束:
nameLabel.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true
nameLabel.widthAnchor.constraint(equalTo: self.widthAnchor, constant: -10).isActive = true
nameLabel.topAnchor.constraint(equalTo: profileImageView.bottomAnchor, constant: 8).isActive = true
我遇到的問題是實際的字符串被截斷了,但是沒有將字符串'Johnson Rodriguez'
截斷為' 'Johnson Rod...'
',它最終在空格后裁剪掉了所有內容,導致標簽顯示為'Johnson'
這些是我嘗試使用的東西:
label.lineBreakMode = .byTruncatingTail
label.sizeToFit()
label.preferredMaxLayoutWidth = 70
這是我看到的其他人使用的東西,但是由於某種原因,我無法讓它顯示...
而不是在第一個空格處截斷字符串。
將numberOfLines
設置為1應該可以解決問題。
從文檔:
此屬性控制為了使標簽文本適合其邊界矩形而使用的最大行數。 此屬性的默認值為1。要刪除任何最大限制,並根據需要使用任意多的行,請將此屬性的值設置為0。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.