Я хотел бы создать диалог с пин-кодом, например, тот, который вы можете включить на iPhone.Создание диалога с PIN-кодом
Для тех, кто этого не видел, он состоит из четырех ящиков и цифровой клавиатуры. Когда вы вводите цифру, в первом поле появляется точка. И так далее. Когда вы нажмете кнопку удаления, последняя точка будет удалена.
я это настроить как четыре UITextFields и в моем делегатом я слушаю:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
[self performSelector:@selector(pickNext:) withObject:textField afterDelay:0.0];
return YES;
}
The 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