我有一个文本字段攻上自定义键盘出现包含数字0-9,退格键。 我能够在年底以及从字符串中删除文本。 但是,当我从什么地方中间删除文本,将光标跳到终点位置。 我想光标保持在同一位置,在其同时删除文本了。 请提前尽快和感谢答复。
Answer 1:
第一获取光标的初始位置(或所选择的范围的结束):
UITextRange *selectedRange = [textField selectedTextRange];
NSInteger offset = [textField offsetFromPosition:textField.endOfDocument toPosition:selectedRange.end];
修改文本框的文本后,使用UITextPosition如下复位光标位置:
UITextPosition *newPos = [textField positionFromPosition:textField.endOfDocument offset:offset];
textField.selectedTextRange = [textField textRangeFromPosition:newPos toPosition:newPos];
文章来源: Custom Keyboard Set Cursor Position