79 votes

Présenter et rejeter le contrôleur de vue modal

Quelqu'un peut-il me donner un exemple de code que je peux utiliser pour présenter d'abord un contrôleur de vue modal, puis le rejeter ? C'est ce que j'ai essayé de faire :

NSLog(@"%@", blue.modalViewController);
[blue presentModalViewController:red animated:YES];
NSLog(@"%@", blue.modalViewController);
[blue dismissModalViewControllerAnimated:YES];
NSLog(@"%@", blue.modalViewController);

Ce code se trouve dans viewDidLoad ("blue" et "red" sont tous deux des sous-classes de UIViewController). Je m'attends à afficher la vue rouge puis à la masquer immédiatement, avec une certaine animation. Cependant, ce morceau de code ne fait que présenter la vue modale et ne la fait pas disparaître. Avez-vous une idée ? Le premier journal indique "null" alors que les deux autres journaux indiquent <RedViewController: 0x3d21bf0>

Un autre point est que si je mets ce code dans applicationDidFinishLaunching : la vue rouge n'apparaît pas du tout, et tous les journaux obtiennent "null".

0 votes

Comme le dit quelqu'un ci-dessous, presentModalViewController:animated: est déprécié. Vous devez maintenant utiliser presentModalViewController:animated:completion: et exécutez les opérations suivantes dans le bloc d'achèvement (si vous voulez attendre jusqu'à ce que l'opération soit terminée). red est présenté). Quoi qu'il en soit, lisez l'article que @MatterGoal suggère : developer.apple.com/library/ios/#featuredarticles/ .

3voto

Mike Milla Points 168

Swift

self.dismissViewControllerAnimated(true, completion: nil)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X