【发布时间】:2014-06-17 10:11:58
【问题描述】:
我有两个 UITextfields 如下,
如果用户在第一个文本字段中输入 4 位数字,那么第二个文本字段应该成为第一响应者。我试过下面的代码,
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
int num = [textField.text length] - range.length;
if(textField==pin && num ==4)
{
[cpin becomeFirstResponder];
}
}
这就像,用户必须输入第五个数字。在第一个 UITextfield 中输入四位数字后,我希望第二个文本字段成为响应者。该怎么做?
【问题讨论】:
-
将 num == 4 更改为 num == 3?
-
@CW0007007,如果我设置 num==3,则在 cpin 上输入第四个字母。
-
将其更改为 + range.length 然后 4 应该可以工作,您从 num 计数中省略了新键入的字符。由于 textField 文本直到该方法返回后才会更新。您还需要返回 YES;从那个方法。
-
@CW0007007,请详细说明。
标签: ios objective-c uitextfield first-responder becomefirstresponder