有点需要你的帮助。我制作了一个自定义键盘并将其添加到我的 UITextFields.inputView 中。一切正常。但是我在制作用于在字段中左右移动光标的按钮时遇到了一些问题。实际上,我制作了它们并且它们起作用了。但是,TextField 本身并不能正确显示光标位置的变化。如果文本超出字段范围,并且我将光标移出字段范围,则字段本身不会刷新。我的意思是光标完全按照它必须的方式移动,但它超出了字段的可见区域。那么问题来了,如何让 UITextField 刷新呢?
发布我的按钮代码,它将光标向左移动:(就像在 x 位置选择长度为 0 的文本一样)
// object - 是我的 UITextField //pos - 光标的位置
-(IBAction)moveLeft:(UIButton*)sender{
UITextRange *selectedRange = [object selectedTextRange];
int pos = [object offsetFromPosition:object.endOfDocument toPosition:selectedRange.start];
if ([object.text length]+pos>0){
NSRange range= NSMakeRange([object.text length]+pos-1, 0);
UITextPosition *start = [object positionFromPosition:[object beginningOfDocument]
offset:range.location];
UITextPosition *end = [object positionFromPosition:start
offset:range.length];
[object setSelectedTextRange:[object textRangeFromPosition:start toPosition:end]];
**[self updateTextField];**
}
}
如何制作这个“updateTextField”方法?