UILabel设置attributedText顶端对齐并且超出显示省略号

首先上图说明:

顶端对齐,多余显示省略号.png

一、对于UILabel,正常设置的text,numberOfLines设置为0,也就是多行时,超出高度部分会正常显示省略号(设置了最大高度)。但是如果需要设置文本的间距以及颜色,就需要使用attributedTest
<pre>
let text = "需要显示的长文本"
let paraph = NSMutableParagraphStyle()
paraph.lineSpacing = 6 // 设置间距
let attributes = [NSParagraphStyleAttributeName: paraph]
self.detailLabel.attributedText = NSAttributedString(string: text, attributes: attributes)
self.detailLabel.lineBreakMode = .byTruncatingTail
</pre>
使用上面的方式显示多行文本,如果多出的需要显示省略号,需要在设置完attributedText之后,设置label的lineBreakMode为尾部截断显示。这样多余的就会换行了。

二、设置固定高度,比如高度设置为80,默认label的attributedText会居中显示,即使自动布局顶端与旁边的图片对齐,文字也只会显示在中间。此时可以通过自动布局的lessThenOrEqualTo解决,当文本高度小于图片高度时,高度为文本正常高度,这样就会顶端对齐
<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.jianshu.com/p/01a83ec7163d
2、http://www.cnblogs.com/zrr-notes/p/6068456.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,713评论 1 92
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,815评论 4 61
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 5,977评论 0 6
  • Redis 连接命令主要是用于连接 redis 服务。 实例 以下实例演示了客户端如何通过密码验证连接到 redi...
    笑Skr人啊阅读 3,446评论 0 0
  • 老师让我们交一个黏土作品。因为第一次做,所以做了好久,现在终于做完了,就晒晒,希望得到高人的指点。
    虾仙书糖阅读 4,097评论 2 3

友情链接更多精彩内容