Compensation Pile de Navigation rapide
Je suis actuellement en train de concevoir une application qui a un entonnoir d'écoulement et un tableau de bord de flux. J'aimerais l'entonnoir d'écoulement d'être effacé de la mémoire à la fin:
Si elle va
1) si un nouvel utilisateur de début de l'entonnoir -> 2) entonnoir écrans 1-5 -> 3) entonnoir écran complet
J'aimerais transition vers l'écran du tableau de bord qui n'est pas encore sur la pile (c'est pas de ma tête contrôleur dans ce cas). Comment puis-je effacer le 6 écrans au-dessus de la mémoire lorsque j'ai transition vers le tableau de bord - essentiellement de la définition d'une nouvelle navigation, de racine et de compensation le reste? Un dérouleur segue ne semble pas être en mesure de définir un nouveau mot de destination.
OriginalL'auteur Eric H | 2015-08-25
Vous devez vous connecter pour publier un commentaire.
Si vous ne souhaitez effacer la pile de navigation, et de pousser un nouveau point de vue sur le dessus de cela, il y a une solution plus simple.
Supposons que vous avez déjà (par programme) a attribué une manette de navigation, par exemple, dans un
viewDidLoad()
fonction, comme:YourRootController
actes comme les piles de la racine (en bas de la pile).À pousser les autres contrôleurs de en haut de la pile (votre entonnoir de conversion les contrôleurs), il suffit d'utiliser
navController.pushViewController( yourControllerInstance!, animated: false )
.Si vous voulez clair de la pile après l'achèvement de l'entonnoir, il suffit d'appeler:
Cette fonction supprime tous les points de vue (en plus de la racine contrôleur) à partir de votre pile.
OriginalL'auteur Julius B.
Alors j'ai fini par avoir à le faire par programmation en sautant en arrière de la première manette, puis le remplacement de l'entonnoir de la tête sur le tableau de bord de la tête:
OriginalL'auteur Eric H
Je crois que vous pouvez le faire simplement en ajoutant un nouveau tableau (avec la vue du tableau de bord, dans votre cas) à la UINavigationController de viewControllers propriété.
Pourquoi voulez-vous utiliser la même manette de navigation au lieu de faire un nouveau? En général, au lieu d'essayer de changer la racine d'une manette de navigation, je vous recommande juste de créer une nouvelle manette de navigation.
Tbh je ne sais pas car je n'utilise pas de story-boards. Je suis sûr qu'il y a une façon de l'avoir supprimé de la mémoire, autrement ce serait une très grosse faille dans les storyboards.
OriginalL'auteur Aurast