用NSAttributedString替换UITextView中选定的文本

3

我试图用一些NSAttributedString替换在UITextView中选择的一些文本,但只有以下方法可用:

textView.replace(UITextRange, withText: String)

如您所见,替换文本只接受一个String,我找不到用NSAttributedString替换它的方法。
我可以做的一件事是存储整个UITextView attributedText,然后在NSMutableAttributedString上执行所需更改,然后将UITextView.attributedText替换为NSMutableAttributedString之一,但这对我来说存在一些问题。
如果文本已经很长并带有一些NSStorageNSAttachments,那么这将变得更加昂贵。
是否有任何解决方法?
1个回答

2
由于无法混合使用`String`和`NSAttributedString`,因此不幸的是在文本字段中没有解决方法可以让它们共存。
但您应该能够使用replaceCharacters(in:with:)
existingAttributedString.replaceCharacters(in: range, with: replacementAttributedString)

谢谢指出!是的,我会尝试你建议的方法。 - Ivan Cantarino

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接