web-dev-qa-db-fra.com

Vue d'alerte dans l'iphone

Je suis nouveau dans le développement d'applications iPhone. Je souhaite concevoir une vue d'alerte avec 2 boutons: OK et Cancel. Lorsque l'utilisateur appuie sur le bouton OK, un message indiquant hello s'affiche. Quand ils toucheront le bouton Cancel, j'imprimerai cancel.

S'il vous plaît aider; Comment puis-je faire cela?

24
shreedevi

Pour afficher l'alerte:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Do you want to say hello?"
                                                message:@"More info..."
                                               delegate:self
                                      cancelButtonTitle:@"Cancel"
                                      otherButtonTitles:@"Say Hello",nil];
[alert show];
[alert release];

Pour répondre à n'importe quel bouton tapé:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 0) {
        NSLog(@"Cancel Tapped.");
    }
    else if (buttonIndex == 1) {
        NSLog(@"OK Tapped. Hello World!");
    }
}

Pour plus d'informations, voir Référence de la classe UIAlertView et/ Référence du protocole de délégué UIAlertView .

62
Steve Harrison

puisque la réponse choisie est obsolète, voici la nouvelle solution:

UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"My Alert"
                               message:@"This is an alert."
                               preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
   handler:^(UIAlertAction * action) {}];

[alert addAction:defaultAction];
[self presentViewController:alert animated:YES completion:nil];

Comme indiqué dans Guide du développeur iOs .

25
krakover

Afficher l'alerte avec l'extrait suivant

 UIAlertView * alert = [[UIAlertView alloc]. 
 initWithTitle: @ "Faites un choix éclairé" 
 message: nil 
 délégué: auto 
 cancelButtonTitle: @ "Annuler" 
 otherButtonTitles: @ "OK", nil]; 
 [émission d'alerte]; 

Le délégué est réglé sur lui-même. Ainsi, lorsque l'alerte est rejetée, notre propre classe reçoit un rappel. Le délégué doit implémenter le protocole UIAlertViewDelegate.

- (void) alertView: (UIAlertView *) alertView 
 clickedButtonAtIndex: (NSInteger) buttonIndex {

 if (buttonIndex == 1) {
 // Fais le!
 } autre {
 // Annuler
 } 
} 
5
Niels Castle

Voici quelques façons d'afficher des messages d'alerte sur l'iPhone

s'il vous plaît vérifier ce lien pour plus d'échantillons et captures d'écran .

(Projet XCode avec code source inclus)

  • Fiche d'action simple
  • OK/Annuler la feuille d'action
  • Alerte Simple

// ouvre une alerte avec un bouton OK et annuler

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"UIAlertView"
        message:@"My message" delegate:self cancelButtonTitle:@"Cancel"
        otherButtonTitles:@"OK", nil];
[alert show];
[alert release];
2
Adrian Pirvulescu

Vous pouvez utiliser pour la sortie de débogage (il arrive parfois que vous ne puissiez pas utiliser NSLog à cause de bogues qui n'apparaissent que lorsque l'application est lancée sur le périphérique et non pas depuis Xcode):

#define MY_ALERT(str) [[[UIAlertView alloc] initWithTitle:@"System Alert" message:str delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show]

Ensuite, dans votre code, vous pouvez faire, par exemple:

MY_ALERT(NSStringFromCGRect(someView.frame))
0
Lukas Kalinski