此处,str
包含表情符号并且设置cursorPosition不正确:
let cursorPosition = str.characters.count
let cursorRange = NSRange(location: cursorPosition, length: 0)
textInputView.selectedRange = cursorRange
textInputView.scrollRangeToVisible(cursorRange)
答案 0 :(得分:2)
看起来你想把光标放在0
的最后。试试这种方式。
textView
答案 1 :(得分:0)
这是一个古老的问题,但是如果我再次遇到这个问题,我会加一些要点:
Nirav D答案仅在您要转到字符串末尾时有效。
之所以会发生这种情况,是因为表情符号在字符串中算作单个字符位置,而当光标位置使用utf16字符串位置时,它们在文本字段中算作一个以上的位置。这就是为什么光标不会与您的代码一起移到文本字段的末尾。
如果要将光标移动到末尾以外的任何位置,请使用string.utf16对应的位置。