在更改 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 个字符,而第二个字符刚刚插入光标之后):
请告诉我怎么做对吗?