我想在UITextView中混合2种字体。 Font1具有特殊的unicode字符,font2没有。如果UITextView的主要字体是font2,如何在不将光标移到末尾的情况下将Font1插入UITextView?由于.attributedText是不可更改的。我假设我需要创建一个NSMutableString并将其分配给.attributedText。但是,这会将光标放在末尾。有没有一种方法可以在光标选择处插入字体1而不使光标跳到末尾? 预先感谢您的帮助。
答案 0 :(得分:1)
您可以使用以下函数在光标处插入属性。
https://developer.apple.com/documentation/foundation/nsmutableattributedstring/1414947-insert
func insertAtTextViewCursor(attributedString: NSAttributedString) {
// Find out the cursor point
guard let selectedRange = textView.selectedTextRange else { return }
// If cursor point found
let cursorIndex = textView.offset(from: textView.beginningOfDocument, to: selectedRange.start)
let mutableAttributedText = NSMutableAttributedString(attributedString: textView.attributedText)
mutableAttributedText.insert(attributedString, at: cursorIndex)
textView.attributedText = mutableAttributedText
}