在文本视图中添加新的时如何保持删除线?删除线跳转到最新突出显示的单词

How to keep strikethrough when adding a new one in a textview? The strikethrough jumps to the newest highlighted word

我有一个文本视图,它被设置为属性文本。当我使用此代码并单击我的按钮以删除线时,它将完美删除突出显示的部分。但是,当我突出显示另一个部分并单击删除线时,它会清除第一个部分,而我删除线的新突出显示部分会得到该行。

let attributeString: NSMutableAttributedString = NSMutableAttributedString(string: textView.text)
attributeString.addAttribute(NSAttributedString.Key.strikethroughStyle, value: NSUnderlineStyle.single.rawValue, range: textView.selectedRange)

textView.attributedText = attributeString
textView.font = UIFont(name: "Helvetica Neue", size: 16.0)

如何为所有部分保留它?除非我自己清除它哪里不会清除?我想我也没有意识到我该如何清除它?

您创建一个没有属性的新属性字符串,然后添加一个删除线。

而是更新现有的属性字符串。

let attributeString: NSMutableAttributedString = NSMutableAttributedString(attributedString: textView.attributedText)