rejeter UIAlertController présenté par un modal-vue-contrôleur
J'ai l'impression de courir dans un problème similaire à celui dans un suspens posté question: UIAlertController le rejet de son presentingViewController
Je vous présente un modal-vue-contrôleur sur le dessus de la normale UIViewController. Puis je me suis éclater comme une alerte sur cette modal-vue-contrôleur. Lorsque que j'appuie sur "ok" pour faire disparaître l'avertissement (généré avec le code ci-dessous), le modèle-vue-contrôleur est également rejetée.
UIAlertAction *ok = [UIAlertAction actionWithTitle:@"OK"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction *action{
[self dismissViewControllerAnimated: YES completion: nil];}];
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Sign up problem."
message:@"Some fields are empty. Please check your inputs and try again."
preferredStyle:UIAlertControllerStyleAlert];
[alert addAction:ok];
[self presentViewController:alert animated:YES completion:nil];
Comment puis-je rejeter juste l'alerte?
Je me rends compte que je peux éviter ce problème en utilisant une manette de navigation du type de l'installation et de cacher la barre de navigation, si je Reçois la même sensation que le modèle-vue-contrôleur, mais cela semble idiot. Merci.
OriginalL'auteur Sunnyside Productions | 2014-11-20
Vous devez vous connecter pour publier un commentaire.
Ne pas appeler
self dismissViewController
dans le gestionnaire de bouton. Que dit précisément que vous voulez le point de vue du contrôleur rejeté.Vous n'avez pas besoin de désactiver l'alerte. Il sera automatiquement rejeter lui-même. La seule chose que vous devez faire dans le gestionnaire de bouton, c'est effectuer les mesures dont vous avez besoin. Ne rien faire si vous n'avez pas besoin de faire quoi que ce soit.
Si votre alerte est simplement un message et vous n'avez pas besoin d'effectuer une action, il suffit de faire ceci:
OriginalL'auteur rmaddy
Vous n'avez pas besoin de rejeter ou de retirer la
UIAlertController
manuellement en quelque sorte dans un gestionnaire de bouton - elle n'a que lui-même.Il suffit de supprimer l'appel à
dismissViewControllerAnimated:completion:
.UIAlertView
vous pourriez rejeter/masquer que par programmation.Je pense que vous pouvez juste
[self dismissViewControllerAnimated:completion:]
. Ne sais pas si.OriginalL'auteur Linuxios