自定义键盘集光标位置
问题描述:
我有一个文本字段点击其上自定义键盘出现包含数字0-9和退格按钮。我能够从字符串的中间以及末尾删除文本。但是当我从某处中间删除文本时,光标跳转到结束位置。我希望光标保持与删除文本时的位置相同。 请尽快回复,并提前致谢。自定义键盘集光标位置
答
首先获取光标的初始位置(或所选择的范围的结束):
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];
非常感谢你,我真的很满意这个代码... –
我想使用RTL语言的光标位置,它应该在所有的应用程序中统一。我怎样才能做到这一点。我正在创建一个RTL自定义键盘。 –