我想创建一个密码对话,就像你可以在 iPhone 上打开的对话一样。
对于那些没有看过的人,它由四个盒子和一个数字键盘组成。输入数字时,第一个框中会出现一个点。等等。当您点击删除按钮时,最后一个点将被删除。
我将此设置为四个 UITextFields,并在我的委托中听:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
[self performSelector:@selector(pickNext:) withObject:textField afterDelay:0.0];
return YES;
}
pickNext: 方法将切换到下一个 UITextField,如下所示:
- (void)pickNext:(UITextField*)textField
{
switch ([textField tag]) {
case 1:
[pin2 becomeFirstResponder];
break;
case 2:
[pin3 becomeFirstResponder];
break;
case 3:
[pin4 becomeFirstResponder];
break;
case 4:
[textField resignFirstResponder];
break;
default:
break;
}
}
这实际上有效,但对我来说问题是当 UITextField 已经为空时删除键不会产生任何通知。所以我没有办法移动到以前的 UITextField。
那么有没有人对如何解决这个问题有更好的建议。我在想隐藏的文本字段...??