首先上圖說(shuō)明:
一、對(duì)于UILabel瞎嬉,正常設(shè)置的text蝎毡,numberOfLines設(shè)置為0,也就是多行時(shí)佑颇,超出高度部分會(huì)正常顯示省略號(hào)(設(shè)置了最大高度)顶掉。但是如果需要設(shè)置文本的間距以及顏色,就需要使用attributedTest
<pre>
let text = "需要顯示的長(zhǎng)文本"
let paraph = NSMutableParagraphStyle()
paraph.lineSpacing = 6 // 設(shè)置間距
let attributes = [NSParagraphStyleAttributeName: paraph]
self.detailLabel.attributedText = NSAttributedString(string: text, attributes: attributes)
self.detailLabel.lineBreakMode = .byTruncatingTail
</pre>
使用上面的方式顯示多行文本挑胸,如果多出的需要顯示省略號(hào)痒筒,需要在設(shè)置完attributedText之后,設(shè)置label的lineBreakMode為尾部截?cái)囡@示茬贵。這樣多余的就會(huì)換行了簿透。
二、設(shè)置固定高度解藻,比如高度設(shè)置為80老充,默認(rèn)label的attributedText會(huì)居中顯示,即使自動(dòng)布局頂端與旁邊的圖片對(duì)齊螟左,文字也只會(huì)顯示在中間啡浊。此時(shí)可以通過(guò)自動(dòng)布局的lessThenOrEqualTo解決觅够,當(dāng)文本高度小于圖片高度時(shí),高度為文本正常高度巷嚣,這樣就會(huì)頂端對(duì)齊
<pre>
self.detailLabel.snp.makeConstraints { (make) in
make.top.equalTo(self.leftImageView)
make.leading.equalTo(self.leftImageView.snp.trailing).offset(11)
make.trailing.equalTo(self.titleLabel)
make.height.lessThanOrEqualTo(self.imageWidth)
}
</pre>
其中detailLabel為文本喘先,leftImageView為左邊的圖片
參考文章:
1、http://www.reibang.com/p/01a83ec7163d
2廷粒、http://www.cnblogs.com/zrr-notes/p/6068456.html