XCODE - Как: UIAlertView (с текстовым полем) в цикле, пока правильное значение не введено в поле? - PullRequest
2 голосов
/ 23 февраля 2012

В настоящее время я работаю в XCode над приложением для iOS ...

Я настроил UIAlertView (с вопросом в качестве сообщения), чтобы всплывать с текстовым полем для получения ответа.

Требуемая функциональность заключается в том, что при вводе неверного значения в текстовое поле UIAlert будет зацикливаться ... До тех пор, пока не будет введен правильный ответ.На этом этапе UIAlert будет отклонен.

Вот что у меня есть ...

- (void)application:(UIApplication *)application 
didReceiveLocalNotification:(UILocalNotification *)notification {

    NSString* correctAnswer = @"2";


    UIAlertView *alert = [[UIAlertView alloc] 
                          initWithTitle:@"Alarm" 
                          message:@"1 + 1 ="  
                          delegate:self 
                          cancelButtonTitle: nil 
                          otherButtonTitles:@"Continue", nil ];

    alert.alertViewStyle = UIAlertViewStylePlainTextInput;
    UITextField* answerField = [alert textFieldAtIndex:0];
    answerField.keyboardType = UIKeyboardTypeNumberPad;
    answerField.placeholder = @"answer";

    [alert show];


    // I feel like this would work, but I know it doesn't...

    NSString *answerFieldString = answerField.text;
    if ([answerFieldString isEqualToString: correctAnswer ])
    {
        [alert dismissWithClickedButtonIndex:-1 animated:YES];
    }


}

Я провел обширный поиск в Google и не могу найти решение... Любые ответы будут высоко оценены!

1 Ответ

2 голосов
/ 23 февраля 2012

попробуйте это ...

- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
{
     NSString *answerFieldString = answerField.text;
    if ([answerFieldString isEqualToString: correctAnswer ])
    {
        [alertView dismissWithClickedButtonIndex:-1 animated:YES];
    }

}
...