我想创建PIN码对话框,就像您可以在iPhone上打开的对话框一样。创建PIN码对话框
对于那些没有看到它的人来说,它由四个盒子和一个数字键盘组成。输入数字时,第一个框中会出现一个圆点。等等。当你点击删除按钮时,最后一个点被删除。
我有这个设置四个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。
那么有没有人有更好的消化如何解决这个问题。我在想隐藏的文本字段......?
好吧,ValueChanged显然没有为UITextField做任何事情,至少我没有得到任何事件。但“编辑已更改”不会发送事件,但同样,不是当该字段为空时,我点击了删除键。 – Kobski 2009-08-24 13:02:42