自定义键盘套装光标位置(Custom Keyboard Set Cursor Position)

2019-07-29 09:35发布

我有一个文本字段攻上自定义键盘出现包含数字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