我想創建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