111 votes

Ajout d'un simple UIAlertView

Quel est le code de base que je pourrais utiliser pour créer un simple UIAlertView avec un bouton "OK" ?

0 votes

Voulez-vous attendre pour exécuter une action que le bouton OK soit cliqué ?

1 votes

@sudo rm -rf : Non, j'ai juste besoin que ça dise "Dee dee doo doo" ou quelque chose comme ça. Aucune action n'est nécessaire.

232voto

sudo rm -rf Points 19115

Lorsque vous souhaitez que l'alerte s'affiche, procédez comme suit :

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"ROFL" 
                                                    message:@"Dee dee doo doo." 
                                                    delegate:self 
                                                    cancelButtonTitle:@"OK" 
                                                    otherButtonTitles:nil];
[alert show];

    // If you're not using ARC, you will need to release the alert view.
    // [alert release];

Si vous voulez faire quelque chose lorsque le bouton est cliqué, implémentez cette méthode de délégation :

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
    // the user clicked OK
    if (buttonIndex == 0) {
        // do something here...
    }
}

Et assurez-vous que votre délégué se conforme à UIAlertViewDelegate protocole :

@interface YourViewController : UIViewController <UIAlertViewDelegate>

4 votes

Vous pouvez utiliser des balises si vous avez plus d'une vue d'alerte pour déterminer qui a appelé le délégué.

10voto

Brynner Ferreira Points 318
UIAlertView *myAlert = [[UIAlertView alloc] 
                         initWithTitle:@"Title"
                         message:@"Message"
                         delegate:self
                         cancelButtonTitle:@"Cancel"
                         otherButtonTitles:@"Ok",nil];
[myAlert show];

9voto

Di Wu Points 4714

En complément des deux réponses précédentes (des utilisateurs "sudo rm -rf" et "Evan Mulawski"), si vous ne voulez rien faire lorsque votre vue d'alerte est cliquée, vous pouvez simplement l'allouer, la montrer et la libérer. Vous n'avez pas besoin de déclarer le protocole de délégué.

9voto

Evan Mulawski Points 28536
UIAlertView *alert = [[UIAlertView alloc]
 initWithTitle:@"Title" 
 message:@"Message" 
 delegate:nil //or self
 cancelButtonTitle:@"OK"
 otherButtonTitles:nil];

 [alert show];
 [alert autorelease];

3voto

MGM Points 957

Voici une méthode complète qui ne comporte qu'un seul bouton, un "ok", pour fermer l'UIAlert :

- (void) myAlert: (NSString*)errorMessage
{
    UIAlertView *myAlert = [[UIAlertView alloc]
                          initWithTitle:errorMessage
                          message:@""
                          delegate:self
                          cancelButtonTitle:nil
                          otherButtonTitles:@"ok", nil];
    myAlert.cancelButtonIndex = -1;
    [myAlert setTag:1000];
    [myAlert show];
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X