iPhone: de Fondu de transition entre deux RootViewControllers
Obj-C
ou MonoTouch C#
réponses sont beaux.
La première UIWindow de RootViewController est un simple écran de connexion.
window.RootViewController = loginScreen;
Après la connexion, j'ai mis la Racine de l'application principale
window.RootViewController = theAppScreen;
Comment Fondu de transition entre les deux RootViewControllers dans ce cas?
OriginalL'auteur BahaiResearch.com | 2012-07-27
Vous devez vous connecter pour publier un commentaire.
Je pourrais suggérer une approche différente qui vous permettra d'obtenir votre animation. Il suffit d'aller à la
theAppScreen
contrôleur première, et si vous avez besoin de l'utilisateur pour se connecter, il ne lepresentViewController
pour se rendre à l'loginScreen
(vous n'avez pas à animer cette étape si vous voulez ressembler, il est allé directement à l'écran de login). De cette façon, lorsque vous vous êtes connecté avec succès, le loginScreen pouvez simplementdismissViewControllerAnimated
et vous avez votre animation à latheAppScreen
. (Évidemment, si vous voulez que l'effet de fondu, n'oubliez pas de mettre le contrôleur demodalTransitionStyle
àUIModalTransitionStyleCrossDissolve
.)Si vous êtes ensemble mort sur le changement de votre
rootViewController
, la seule façon que je peux penser de le faire (et je ne l'aime pas) serait de faire quelque chose comme:La première technique semble beaucoup plus clair pour moi.
presentModalViewController
etdismissModalViewControllerAnimated
. Sinon, tenez-vous avecpresentViewController
etdismissViewControllerAnimated
.La première approche semble ne fonctionne pas bien lorsque le
theAppScreen
est unUITabBarController
Fonctionne très bien pour moi. Allez-vous mettre dans votre
UITabBarController
sous-classe? Quand vous dites "ne semble pas bien", comment?FWIW, la deuxième, détesté, approche certainement ne fonctionne pas sur iOS 8. "En essayant de rejeter la présentation du contrôleur lors de la transition déjà.". Vous pouvez récupérer les choses en supprimant le dismissViewControllerAnimated appel.
OriginalL'auteur
C'est MT code de @Robert Ryan technique (même si je suis d'accord avec sa proposition de
theAppScreen
est probablement le "corriger"RootViewController
):OriginalL'auteur
Vous pouvez faire ceci:
loginScreen pouvez faire disparaître d'elle-même quand fait:
[self dismissModalViewControllerAnimated:YES];
Le PAS sur le premier film d'animation fera l'loginScreen apparaissent sans aucune visibilité de la theAppScreen dessous. L'animé = OUI à la fin fournira la croix-dissoudre.
OriginalL'auteur