Comment créer un écran de chargement réutilisable à un moment donné? Je suis au courant de Default.png mais j'ai besoin de la flexibilité pour brancher un écran de chargement à tout moment pendant le cycle de vie de l'application.Comment créer un écran de chargement réutilisable?
C'est ce que j'ai jusqu'ici.
//inside a method that gets called by a UIButton
LoadingViewController* loadController = [[LoadingViewController alloc] initWithNibName:@"Loading" bundle:nil vertical:NO];
[self.view addSubview: loadController.view];
//some method call that takes a few seconds to execute
[self doSomething];
//This loads some other view, my final view
[self.view addSubview: someOtherView]
mais il semble que la vue de chargement ne soit jamais affichée. Au lieu de cela, la vue précédente reste là jusqu'à ce que "someOtherView" soit ajouté. Je mets des logs de trace et le code semble être exécuté, j'ai même remplacé [self doSomething] par sleep (2), mais la vue de chargement intermédiaire n'est jamais affichée.
Si je supprime [self.view addSubview: someOtherView]; puis après quelques secondes ... (après que doSomething ait terminé l'exécution), la vue de chargement est affichée car il n'y a aucune vue qui est poussée dessus, mais ce n'est évidemment pas la fonctionnalité que je veux.
Peut expliquer ce problème? Y a-t-il quelque chose à propos du cycle de rendu que je ne comprends pas parce qu'il ne semble pas que la vue (sur l'écran au moins) soit instantanément mise à jour, même si j'appelle un [self.view addSubview: loadController.view];
Aurais-je besoin de créer un thread séparé?