我有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
这是我见过其他人使用但由于某种原因我不能让它显示...
而不是在第一个空格处截断字符串。
答案 0 :(得分:3)
将numberOfLines
设置为1可以帮到你。
来自文档:
此属性控制使用的最大行数,以便将标签的文本放入其边界矩形中。此属性的默认值为1.要删除任何最大限制,并根据需要使用尽可能多的行,请将此属性的值设置为0.