Сортировка 2 нажатий кнопки UIalertview - PullRequest
0 голосов
/ 25 августа 2011

У меня 2 оповещения на одной странице. Проблема в том, что clickedButtonAtIndex отвечает на оба оповещения, а не только на второе. Как мне их разделить?

UIAlertView *passwordAlert = [[UIAlertView alloc] initWithTitle:@"Phone Number" message:@"\n\n\n"
                                                       delegate:self cancelButtonTitle:nil otherButtonTitles:NSLocalizedString(@"OK",nil), nil];

UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Warning" message:@"Please Enter correct phone no." delegate:self cancelButtonTitle:nil otherButtonTitles:@"Try Again", nil];

- (void)alertView:(UIAlertView *)alert clickedButtonAtIndex:(NSInteger)buttonIndex {

На первом вы вводите номер телефона и нажимаете ОК. Если это подтвердится, отлично. Однако, если это не так, второе предупреждение показывает. Теперь, когда они нажимают «Попробовать еще раз», clickedButtonAtIndex запускает первое и второе оповещение. Мне нужно, чтобы он работал только на втором.

Ответы [ 2 ]

0 голосов
/ 25 августа 2011

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

UIAlertView *passwordAlert = [[UIAlertView alloc] initWithTitle:@"Phone Number" message:@"\n\n\n"
                                                       delegate:self cancelButtonTitle:nil otherButtonTitles:NSLocalizedString(@"OK",nil), nil];
passwordAlert.tag=1;

UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Warning" message:@"Please Enter correct phone no." delegate:self cancelButtonTitle:nil otherButtonTitles:@"Try Again", nil];
alert.tag=2;

- (void)alertView:(UIAlertView *)alert didDismissWithButtonIndex:(NSInteger)buttonIndex
{
    if(alert.tag==1)
    {
        if (buttonIndex==0) {

        }
        else if (buttonIndex==1) {

        }
         }
if(alert.tag==2)
    {
        if (buttonIndex==0) {

        }
        else if (buttonIndex==1) {

        }
}
0 голосов
/ 25 августа 2011

Попробуйте добавить тег к каждому UIAlertView, а затем используйте этот тег в alertView: clieckedButtonAtIndex, чтобы определить, какой UIAlertView был активным.

См. Подробности и пример кода в этом предыдущем вопросе: Несколько UIAlertView для делегата.

...