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?
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 .
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 .
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 } }
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)
// 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];
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))