自定义键盘设置光标位置

我有一个文本字段点击自定义键盘出现包含数字0-9和退格button。 我可以从string中间以及末尾删除文本。 但是,当我从某处中间删除文本,光标跳转到结束位置。 我希望光标保持在删除文本的同一位置。 请尽快回复,并提前致谢。

首先得到光标的初始位置(或所选范围的结尾):

UITextRange *selectedRange = [textField selectedTextRange]; NSInteger offset = [textField offsetFromPosition:textField.endOfDocument toPosition:selectedRange.end]; 

修改textField的文本后,使用UITextPosition重置光标位置,如下所示:

 UITextPosition *newPos = [textField positionFromPosition:textField.endOfDocument offset:offset]; textField.selectedTextRange = [textField textRangeFromPosition:newPos toPosition:newPos];