UITextView
使您可以使用insertText
函数在光标处插入纯文本。有没有一种使用归因文本的干净方法?
是将attributedText
属性分为两部分的唯一方法-前光标和后光标-然后将新的属性字符串附加到前光标属性文本中,然后附加后光标属性文字?
答案 0 :(得分:1)
通过调用https://developer.apple.com/documentation/foundation/nsmutableattributedstring/1414947-insert,将其插入文本视图的可变文本。
答案 1 :(得分:0)
@matt建议,这是一个Swift 4.x函数:
fileprivate func insertAtTextViewCursor(attributedString: NSAttributedString) {
// Exit if no selected text range
guard let selectedRange = textView.selectedTextRange else {
return
}
// If here, insert <attributedString> at cursor
let cursorIndex = textView.offset(from: textView.beginningOfDocument, to: selectedRange.start)
let mutableAttributedText = NSMutableAttributedString(attributedString: textView.attributedText)
mutableAttributedText.insert(attributedString, at: cursorIndex)
textView.attributedText = mutableAttributedText
}