代码之家  ›  专栏  ›  技术社区  ›  Ivan Cantarino

将UITextView所选文本替换为NSAttribute字符串

  •  2
  • Ivan Cantarino  · 技术社区  · 8 年前

    我正在尝试替换在 UITextView 有一些 NSAttributedString 但只有以下方法可用:

    textView.replace(UITextRange, withText: String)
    

    如您所见,替换文本只接受 String 我找不到方法用 NSAttribute字符串 .

    我能做的一件事就是把整个 UITextView attributedText 然后在 NSMutableAttributedString 然后我可以替换 UITextView.attributedText 成为 NSMutableAttributeString ,但这给我带来了一些问题。

    如果文本已经很长了 NSStorage NSAttachments 这将更加昂贵。

    有什么解决办法吗?

    1 回复  |  直到 8 年前
        1
  •  2
  •   brandonscript    8 年前

    因为你不能混合 String NSAttributedString 不幸的是,没有一种变通方法可以让两者在文本字段中共存。

    但你应该能够使用 replaceCharacters(in:with:) :

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