我有5个UITextFields彼此相邻。每个人都应该捕获一个针号的数字。这是我如何将输入限制为1个字符并将光标移动到下一个文本字段。如何在UITextField上触发方法
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (self.pin1.text.length == 1 && range.length == 0) [self.pin2 becomeFirstResponder];
if (self.pin2.text.length == 1 && range.length == 0) [self.pin3 becomeFirstResponder];
if (self.pin3.text.length == 1 && range.length == 0) [self.pin4 becomeFirstResponder];
if (self.pin4.text.length == 1 && range.length == 0) [self.pin5 becomeFirstResponder];
return YES;
}
一旦用户在最后一个文本字段(pin5)中输入最后一位数字,我想添加一些功能来检查引脚。现在NSLog会做。我该怎么做呢?
如果我将这行代码添加到shouldChangeCharactersInRange的末尾。您必须点击一个数字两次以获取第5位数字。
if (self.pin5.text.length == 1 && range.length == 0) NSLog(@"Pin %@, %@, %@, %@, %@", self.pin1.text, self.pin2.text, self.pin3.text, self.pin4.text, self.pin5.text);
根据你的模式,你会不会只是增加一个if语句来检查,如果文本已经被添加到5脚? – CrimsonChris
有5个文本字段似乎非常有用... – trojanfoe
@CrimsonChris - 好的想法,请参阅上面的编辑。 – user3626407