Показывать оповещение в clickedButtonAtIndex? - PullRequest
1 голос
/ 27 января 2011


Мне нужно показать уведомление о подтверждении после того, как пользователь нажмет buttonIndex 1, но ... если я использую popViewcontroller в clickedButtonAtIndex, то произойдет сбой без ошибок.

Проблема в том, что

[self.navigationController popViewControllerAnimated:YES];

вызывается до второго щелчка оповещения ...

как исправить?

Это мой код:

- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 1) {
        UIAlertView *alert = 
            [[UIAlertView alloc] initWithTitle:@"OK!"
                                    message:@"Completed"
                                    delegate:self 
                    cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
            [alert show]; 
            [alert release];

            [self.navigationController popViewControllerAnimated:YES];
    }
}

1 Ответ

3 голосов
/ 27 января 2011

Установите свойства тега двух UIAlertViews в 1 и 2 соответственно.Затем в методе делегата используйте оператор if для проверки тега аргумента UIAlertView.

Пример:

- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (alertView.tag == 1)
    {
        //check the button index
        //create and display the other alert view (set the tag property here to 2)
    }
    else if (alertView.tag == 2)
    {
        //pop the view controller
    }
}
...