web-dev-qa-db-fra.com

comment utiliser UIAlertController

J'essaie d'utiliser ce code dans un jeu Pacman que j'ai obtenu sur un site Web, mais j'ai dû changer UIAlertView en UIAlertController sauf que le code suivant comporte deux erreurs que je ne sais pas comment corriger ( Je suis vraiment nouveau dans la programmation et je sens que c'est une question vraiment novice - désolé !!)

La première erreur est à la ligne 4: Aucune méthode de classe connue pour le sélecteur alertControllerWithTitle

Une deuxième erreur se trouve dans la dernière ligne: aucune interface visible ne déclare le sélecteur show

- (void)collisionWithExit: (UIAlertController *)alert {

    if (CGRectIntersectsRect(self.pacman.frame, self.exit.frame)) {

        [self.motionManager stopAccelerometerUpdates];

        UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Congratulations"
                                                        message:@"You've won the game!"
                                                       delegate:self
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil
                                              preferredStyle:UIAlertControllerStyleAlert];
        [alert show];
    }
}
18
Howie Chowie

Veuillez vérifier le code suivant:

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];
45
iOS Developer

Vérifiez ci-dessous ce code.

pour Objective-C:

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Alert" message:@"Message" preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction *ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                        //button click event
                    }];
UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil];
[alert addAction:cancel];
[alert addAction:ok];
[self presentViewController:alert animated:YES completion:nil];

pour Swift 4.x:

let alert = UIAlertController(title: "Alert", message: "Message", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { action in
  switch action.style {
  case .default:
    print("default")
  case .cancel:
    print("cancel")
  case .destructive:
    print("destructive")
  }
}))
self.present(alert, animated: true, completion: nil)
36
Ravi Dhorajiya