UILabel不能混合删除线和非删除线样式吗?

时间:2017-04-06 02:35:30

标签: ios uilabel ios10 nsattributedstring ios10.3

我想在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
    }

}

屏幕看起来像这样:

enter image description here

0 个答案:

没有答案
相关问题