swift版本的图文混排
2017-05-27 本文已影响202人
七里田间的守望者
Snip20170527_17.png
- 这是一个UILabel显示的内容
step one
- 创建富文本对象 并且为其设置相应的颜色
let attrStr1 = NSAttributedString(string: "爱你", attributes: [NSForegroundColorAttributeName : UIColor.red])
let attrStr2 = NSAttributedString(string: "我的宝贝", attributes: [NSForegroundColorAttributeName : UIColor.blue])
step two
- 创建富文本图片对象
//创建NSTextAttachment对象
let attachment = NSTextAttachment()
//给NSTextAttachment 对象设置图片
attachment.image = UIImage(named: "d_aini")
//设置NSTextAttachment对象的位置 目的是要图片和UILabel的高度一致
let font = demoLabel.font
attachment.bounds = CGRect(x: 0, y: -4, width: (font?.lineHeight)!, height: (font?.lineHeight)!)
//给富文本赋值
let attrImage = NSAttributedString(attachment: attachment)
step three
- 创建一个可变的富文本对象
let attrMub = NSMutableAttributedString()
//给可变的富文本对象赋值
attrMub.append(attrStr1)
attrMub.append(attrImage)
attrMub.append(attrStr2)
//然后把可变富文本对象赋值给UILabel的相应的属性
demoLabel.attributedText = attrMub