2 UIAlertView один за другим - PullRequest
       1

2 UIAlertView один за другим

3 голосов
/ 16 августа 2010

У меня есть 2 UIAlert, который отображается, я нажимаю на кнопку. Я хочу, чтобы второе оповещение было видно только тогда, когда первый UIAlert отклонен, то есть когда мы нажали первую кнопку OK.

Как мне поступить, пожалуйста? Ниже мой код:

- (IBAction)button:(id)sender {
 UIAlertView *view;
 view = [[UIAlertView alloc]
   initWithTitle: @"Message"
   message: @"Adding..."
   delegate: self
   cancelButtonTitle: @"OK" otherButtonTitles: nil];
 [view show];

 MyAppAppDelegate *appDelegate = (MyAppAppDelegate *)[[UIApplication sharedApplication] delegate];

 if (appDelegate.array_presets.count) {
  view = [[UIAlertView alloc]
    initWithTitle: @"Message"
    message: @"limit already reached"
    delegate: self
    cancelButtonTitle: @"OK" otherButtonTitles: nil];
  [view show];
 }

 [view autorelease];
}

1 Ответ

5 голосов
/ 16 августа 2010

Используйте разные теги для двух видов предупреждений.

alertView.tag = 1000; 

Реализуйте метод делегирования представления предупреждений и проверьте значение тега. Когда делегат вызывается с первым представлением оповещения, создайте и покажите второе представление оповещения.

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
    if(alertView.tag == 1000)
    {
        //first alert view's button clicked
        UIAlertView *view = [[UIAlertView alloc]
                initWithTitle: @"Message"
                message: @"limit already reached"
                delegate: self
                cancelButtonTitle: @"OK" otherButtonTitles: nil];
        view.tag = 2000;
        [view show];
    }
    if(alertView.tag == 2000)
    {
        //handle second alert view's button action
    }

}
...