我正在尝试使用UITextView
替换NSAttributedString
内部选定的某些文字,但只有以下方法可用:
textView.replace(UITextRange, withText: String)
正如您所看到的,替换文字仅接受String
,我找不到用NSAttributedString
替换它的方法。
我可以做的一件事就是存储整个UITextView attributedText
,然后在NSMutableAttributedString
上执行所需的更改,然后我可以将UITextView.attributedText
替换为NSMutableAttributedString
之一1}},但这给我带来了一些问题。
如果某些NSStorage
和NSAttachments
的文字已经很长,这将会更加昂贵。
有解决方法吗?
答案 0 :(得分:1)
因为您无法混合String
和NSAttributedString
,所以很遗憾没有解决方法可以让它们在文本字段中共存。
但您应该可以使用replaceCharacters(in:with:)
:
existingAttributedString.replaceCharacters(in: range, with: replacementAttributedString)