Retour à la vue initiale contrôleur lorsque l'utilisateur se déconnecte
Je travaille sur une application qui utilise Facebook de l'intégration, et la log in
système fonctionne très bien maintenant. Cependant, je n'arrive pas à revenir à mon point de vue initial du contrôleur lorsque l'utilisateur clique sur log out
.
Voici un aperçu de mon storyboard
:
Je voudrais retourner à l'accueil lorsque l'utilisateur clique sur le blue button
(sur le haut). Qu'allais-je faire pour y parvenir? Comme vous pouvez le voir, j'ai plusieurs Navigation Controllers
, et je n'utilise que des Push-segues
pour y arriver. Cependant, je n'utilise pas le SWRevealViewController
, que vous pouvez voir dans le milieu.
J'ai essayé [self.navigationController popToRootViewControllerAnimated:YES];
ce qui ne veut pas faire n'importe quoi.
Des conseils? Quiconque est familier avec la SWRevealViewController
et ce qu'il aurait fait à ma Navigation
pile? Toute aide sera appréciée!
Grâce.
OriginalL'auteur Aleksander | 2014-03-29
Vous devez vous connecter pour publier un commentaire.
Essayer cela,
CGContextSetFillColorWithColor: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.
. Pouvez-vous le comprendre?J'ai vu ces types de problèmes lors de l'utilisation de bibliothèques tierces ou parfois sur plus (bêta) des versions de Xcode. Si vous avez des tiers libs vous pourriez atteindre pour obtenir la version la plus récente ou mettre à jour de Xcode. BTW - Dernière version de Xcode a certains de ces bizarreries, mais elles ne se traduisent pas l'application (normalement). Naturellement kilométrage peut varier selon la situation peut être différente.
Je ne sais pas ce que j'ai fait, mais ça fonctionne maintenant. Merci!
Je ne suis pas sûr que ce soit une bonne solution. Ce que vous faites est de créer d'autre de l'INTERFACE utilisateur de la pile sur le dessus de votre pile existante. Si l'utilisateur n'plusieurs fois, la pile devient de plus en plus et vous serez à court de mémoire. En Plus il y a peut être d'autres effets secondaires de nombreux empilées les VCs tous les uns sur les autres.
OriginalL'auteur Ramdhas
Écrire ci-Dessous la Méthode de la racine viewcontroller
Donner des enchaînements de connexion à destination de vue-contrôleur comme ci-dessous
Donner de l'identificateur de séquence et la méthode d'assignation pour que segue
utiliser la méthode ci-dessous en vue de destination contrôleur
OriginalL'auteur Muralikrishna
Tout d'abord, je ne pense pas que vous avez besoin que beaucoup de UINavigationControllers. L'aide d'un seul dans votre application devrait être suffisant.
La raison popToRootViewController ne fonctionne pas dans votre cas, c'est parce qu'il va aller à la première vue de contrôleur au sein d'un UINavigationController. Vous avez imbriquées sur plusieurs UINavigationControllers, ainsi, lorsque vous cliquez sur le bouton bleu dans la fenêtre des paramètres du contrôleur, il va aller à la barre latérale de-vue-contrôleur (ne peut pas le lire correctement, l'image est petite).
Vous pouvez faire pour obtenir à la racine-vue-contrôleur de votre application:
Remplacer AppDelegate avec toutefois il est appelé dans votre application.
Mais mon conseil est de supprimer tous les intermédiaires UINavigationControllers. Puis il suffit de faire popToRootViewController devrait faire l'affaire.
]
là, donc je l'ai ajouté où Xcode suggéré. Voici ce que j'aiUINavigationController *rootController =[[(UINavigationController*)[[(XYZAppDelegate*) [[UIApplication sharedApplication]]delegate] window] rootViewController];
. Mais j'obtiens un message d'erreur disant: Escomptés Identificateur. Avez-vous une solution?OriginalL'auteur Matías R
Problème
Recommandation
Je vous recommande de prendre un coup d'oeil rapide à la très bien noté DONC réponse qui montre comment utiliser le déroulement des enchaînements (c'est le peu de vert de sortie de la fenêtre d'affichage du contrôleur dans le storyboard). Détendez-vous enchaîne sont une façon moderne de l'accomplissement de votre objectif, mais vous pouvez également appeler dismissViewController:animation de la source du contrôleur. Vous devez également prendre une lecture rapide d'une très petite Pomme remarque (TN2298) sur l'utilisation de l'détendez-vous segue.
Essentiellement, vous voulez ajoutez la méthode suivante à votre destination - vue-contrôleur:
Puis utilisez ctrl+faire glisser et cliquez du bouton bleu en bas de la verte à la sortie de l'icône sur le source - vue-contrôleur. Cela affichera un menu, vous pouvez sélectionner
unwindToMainMenu
à partir de la liste. Vous aurez besoin de donner à la nouvelle enchaîner à un identificateur de l'Identité de l'Inspecteur (par exemple segueToMain).Manuel Détendez-Vous
La note technique ci-dessus (TN2298) auront aussi vous montrer comment vous pouvez créer un manuel détendez-vous enchaîne, qui peut être appelé par programme (similaire à la façon dont on pourrait dire performSegueWithIdentifier...).
OriginalL'auteur Tommie C.
Je travaillais sur un problème similaire. Je suis l'aide d'une table de montage avec une manette de navigation & mise en oeuvre hautement recommandé SWRevealViewController, avec iOS 7 & Xcode 5.1. J'ai essayé en vain de mettre en œuvre certaines des solutions mentionne. Soit l'écran ne change pas, ou que j'ai eu de tableau vide. J'ai utilisé une version hybride de la programatic les exemples fournis dans SWRevealController & d'autres réponses ici pour obtenir une solution de travail. J'ai ajouté ce que en dehors de mon login de l'action du bouton
J'ai récupéré mon storyboard & lancé la vue-contrôleur, je voulais du storyboard & ensuite ajoutés à une manette de navigation. Enfin j'ai utilisé le SWRevealViewController méthode pour Pousser la vue que j'ai désiré à l'avant.
OriginalL'auteur urbankid78
Je suis en utilisant swift et ce qui a fonctionné pour moi:
Je ne suis pas sûr que ce soit une bonne solution. Ce que vous faites est de créer d'autre de l'INTERFACE utilisateur de la pile sur le dessus de votre pile existante. Si l'utilisateur n'plusieurs fois, la pile devient de plus en plus et vous serez à court de mémoire. En Plus il y a peut être d'autres effets secondaires de nombreux empilées les VCs tous les uns sur les autres.
OriginalL'auteur Lvkz
Lorsque vous avez plusieurs story-boards simplement "présenter" le CR de la première storyboard fait le truc:
Swift 3
Dans certains cas, il pourrait y avoir une fuite UITransitionView. Vous pouvez les supprimer à droite après la "présentation" du code, mais pas avant et pas dans son achèvement:
<– Cela fonctionne de la manière de Xcode 8.2.1 et iOS 10.2, mais aucune garantie si fonctionnera jamais. Être prudent avec elle.
OriginalL'auteur Vitalii