0

在更改 NSTextStorage.replaceCharacters 中的文本时,我无法弄清楚如何正确更改 selectedTextRange。在原型上:我想打印“12”而不是任何输入符号并将光标移动到正确的位置,就好像我输入了“12”一样。这是我的代码:

override func replaceCharacters(in range: NSRange, with str: String) {
    beginEditing()
    container.replaceCharacters(in: range, with: "12")
    edited([.editedCharacters], range: range, changeInLength: ("12" as NSString).length - range.length)
    endEditing()
}

它有效,但光标始终停留在中间(好像我输入了 1 个字符,而第二个字符刚刚插入光标之后):

例子

请告诉我怎么做对吗?

4

0 回答 0