2010-08-16 6 views
3

J'ai un 2 UIAlert qui est affiché J'appuie sur un bouton. Je veux que la 2ème alerte soit visible seulement quand le premier UIAlert est fermé c'est quand nous avons appuyé sur le premier bouton OK.2 UIAlertView l'un après l'autre

Comment dois-je procéder s'il vous plaît? Ci-dessous est mon code:

- (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]; 
} 

Répondre

5

Utilisez des tags différents pour vos deux affichages d'alerte. Implémentez la méthode déléguer la vue d'alerte et vérifiez la valeur de l'étiquette. Lorsque le délégué est appelé avec la première vue d'alerte, créez et affichez la deuxième vue d'alerte.

- (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 
    } 

} 
+0

Vous vouliez probablement dire utiliser 'si (alertView.tag! = 1000)' dans le second « si » ou vérifier une autre valeur comme 1001. Mais cela ne résout pas le problème des affiches, je pense . – DarkDust

+0

Merci pour la correction. Editer le code dans la réponse. Je pense que cela devrait résoudre le problème car il veut montrer la deuxième vue d'alerte après que le premier est rejeté. – lukya