Как обновить ярлык пароля перед его сбросом? - PullRequest
0 голосов
/ 04 сентября 2011

Я хочу имитировать диалоговое окно ввода пароля разблокировки iphone. Я создал четыре метки и после того, как пользователь ввел четвертое число, я проверяю правильность. Если правильно, я отклоню диалог. Если неверно, я уберу поля ввода и позволю пользователю повторить попытку. Я звоню updateText при нажатии кнопки.

- (void) updateText{

pw1.text = [self.enteredPwd objectAtIndex:0];
pw2.text = [self.enteredPwd objectAtIndex:1];
pw3.text = [self.enteredPwd objectAtIndex:2];
pw4.text = [self.enteredPwd objectAtIndex:3];

if (currentIndex > 3) {
    // check pwd
    [self checkPwd];
}
}
- (IBAction)pwBtnUp:(id)sender {

UIButton *btn = (UIButton*)sender;

[self.enteredPwd insertObject:[NSString stringWithFormat:@"%d", btn.tag] atIndex:currentIndex++];
[self updateText];
}

Но у меня есть одна проблема: у четвертого персонажа никогда не было возможности показать. Неважно, правильно это или нет, диалоговое окно закрывается / удаляется сразу после нажатия последней кнопки.

Понятия не имею, как это исправить. Я даже пытался обновить метку в анимации UIView с помощью checkPwd, вызываемого в блоке завершения, но безуспешно.

Пожалуйста, дайте мне несколько советов, как это исправить. Диалог яблока имеет около 0,5 секунды паузы перед очисткой меток.

Спасибо

Leo

Ответы [ 2 ]

1 голос
/ 04 сентября 2011

Вместо использования NSTimer просто вставьте задержку:

[self performSelector:@selector(checkPwd) withObject:nil afterDelay:0.5];

Кстати, ваш код кажется немного избыточным. Почему вы обновляете все текстовые поля / метки при каждом нажатии новой кнопки? Это не обязательно, если поля уже содержат символ. Но, возможно, это не относится к делу.

1 голос
/ 04 сентября 2011

Не могли бы вы просто использовать NSTimer или селектор, который запускается после задержки?Если pwBtnUp - это функция, которая вызывается, когда пользователь нажимает на число, просто проверьте, является ли оно четвертым числом, после некоторой задержки выполните функцию, которая скрывает или очищает поля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...