通过下面代码可以通过NSTextAttachment将图片以附件的形式插入到属性文字中来达到图文并茂效果;
class ViewController: UIViewController {
@IBOutlet weak var demoLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let attrStr = NSAttributedString(string: "你好:",
attributes: [NSForegroundColorAttributeName : UIColor.red])
let attrStr1 = NSAttributedString(string: "Tony",
attributes: [NSForegroundColorAttributeName : UIColor.blue])
// 图文并茂
let attacment = NSTextAttachment()
attacment.image = UIImage(named: "***")
// 获取文字字体
let fontHeight = demoLabel.font.lineHeight
attacment.bounds = CGRect(x: 0, y: -4, width: fontHeight, height: fontHeight)
let attrImageStr = NSAttributedString(attachment: attacment)
let attrMStr = NSMutableAttributedString()
attrMStr.append(attrStr)
attrMStr.append(attrImageStr)
attrMStr.append(attrStr1)
demoLabel.attributedText = attrMStr
}
}
常用属性:
NSFontAttributeName 字体
NSParagraphStyleAttributeName 段落格式
NSForegroundColorAttributeName 字体颜色
NSBackgroundColorAttributeName 背景颜色
NSShadowAttributeName 阴影
NSStrikethroughStyleAttributeName 删除线格式
NSStrokeColorAttributeName 删除线颜色
NSStrokeWidthAttributeName 删除线宽度
NSUnderlineStyleAttributeName 下划线格式
其他链接:
https://blog.csdn.net/chennai1101/article/details/109638414
https://www.jianshu.com/p/6665c088bd01