IOS: удалить подпредставление с помощью cancelButtonTitel из UIAlert - PullRequest
1 голос
/ 18 апреля 2011

Можно ли удалить подпредставление с помощью cancelButtonTitle для UIAlert? Потому что я пишу это:

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Done!" 
                                                    message:[@"It's all ok!"]
                                                   delegate:nil 
                                          cancelButtonTitle:@"OK" 
                                          otherButtonTitles:nil];

[self dismissModalViewControllerAnimated:YES];

но этот код удаляет мое подпредставление, прежде чем я нажму на cancelButtonTitle, как мне это сделать?

Ответы [ 2 ]

2 голосов
/ 18 апреля 2011

Да, реализуйте метод UIAlertViewDelegate alertView:didDismissWithButtonIndex: и отклоните ваше представление там.

Сначала установите для делегата self:

...
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Done!" 
                                                    message:[@"It's all ok!"]
                                                   delegate:self
                                          cancelButtonTitle:@"OK" 
                                          otherButtonTitles:nil];
...

Может выглядеть так:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex 
{
    if (buttonIndex == [alertView cancelButtonIndex]) {
        [self dismissModalViewControllerAnimated:YES];
    }
}
0 голосов
/ 18 апреля 2011

Установите делегата UIAlertView на себя и внедрите:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex

В этом методе отклонить представление.

...