Le problème semble venir d'Apple de passer à l'utilisation de UIAlertController
en interne pour implémenter la fonctionnalité d'alerte de points de vue et des fiches d'action. Le problème c'est principalement sur l'iPad et des fiches d'action, parce que sur iPad, des fiches d'action sont présentés sous forme de liste dans une vue, et de ce que fait Apple, c'est le voyage le répondeur de la chaîne jusqu'à ce qu'il trouve une-vue-contrôleur et les appels presentViewController:animated:completion:
avec l'intérieur de l' UIAlertController
. Le problème est moins évident sur l'iPhone et avec alerte de points de vue, car il y a effectivement d'Apple crée une fenêtre séparée, un vide-vue-contrôleur et présente les internes UIAlertController
- dessus, de sorte qu'il semble ne pas interférer avec d'autres de la présentation.
J'ai ouvert un bug report pour cette question: rdar://17742017. Merci de le dupliquer et de le laisser Apple sais que c'est un problème.
Comme solution de contournement, je vous recommande de retarder la présentation jusqu'à la prochaine runloop, à l'aide de la méthode suivante:
dispatch_async(dispatch_get_main_queue(), ^ {
[self presentViewController:vc animated:YES completion:nil];
});