用NSAttributedString替换UITextView选定的文本

时间:2018-02-02 17:19:09

标签: ios swift uitextview nsattributedstring

我正在尝试使用UITextView替换NSAttributedString内部选定的某些文字,但只有以下方法可用:

textView.replace(UITextRange, withText: String)

正如您所看到的,替换文字仅接受String,我找不到用NSAttributedString替换它的方法。

我可以做的一件事就是存储整个UITextView attributedText,然后在NSMutableAttributedString上执行所需的更改,然后我可以将UITextView.attributedText替换为NSMutableAttributedString之一1}},但这给我带来了一些问题。

如果某些NSStorageNSAttachments的文字已经很长,这将会更加昂贵。

有解决方法吗?

1 个答案:

答案 0 :(得分:1)

因为您无法混合StringNSAttributedString,所以很遗憾没有解决方法可以让它们在文本字段中共存。

但您应该可以使用replaceCharacters(in:with:)

existingAttributedString.replaceCharacters(in: range, with: replacementAttributedString)