我想在UILabel
中显示一个字符串,其中部分字符串具有删除线样式。我似乎不能只将strikethrough属性放在字符串的一部分上。如果它在整个字符串上,则显示;但如果它在字符串的一部分上,则不会。这是一个错误吗?我错过了什么吗?
以下是一些示例代码和屏幕截图。
class ViewController: UIViewController {
@IBOutlet weak var label1: UILabel!
@IBOutlet weak var label2: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let strikeAttrs = [NSStrikethroughStyleAttributeName:
NSUnderlineStyle.styleSingle.rawValue]
let str1 = NSMutableAttributedString()
str1.append(NSAttributedString(string: "aaa", attributes: strikeAttrs))
let str2 = NSMutableAttributedString()
str2.append(NSAttributedString(string: "aaa", attributes: nil))
str2.append(NSAttributedString(string: "bbb", attributes: strikeAttrs))
label1.attributedText = str1
label2.attributedText = str2
}
}
屏幕看起来像这样: