Détendez-vous enchaîner avec système de Navigation bouton de retour
J'ai regardé la pomme démo vidéo sur le storyboard de la mise en œuvre avec le déroulement enchaîne l'article et vu la démo à l'aide des boutons personnalisés sur la vue principale. Cela fonctionne bien.
J'ai également vu un bon exemple de la même chose ici qui travaille également. http://www.techotopia.com/index.php/Using_Xcode_Storyboarding_%28iOS_6%29#Unwinding_Storyboard_Segues
Cependant, je tiens à avoir un normal pousser des enchaînements en passant par le parent (avec les principales données de formulaire) pour enfant (avec les paramètres avancés des options), puis revenir à la vue parent contrôleur en utilisant le bouton précédent de la barre de navigation, plutôt qu'avec un bouton personnalisé sur le point de vue comme montré dans la démo. Le contrôleur de parent sera alors d'enregistrer le tout à une API serveur quand un autre bouton enregistrer sur le contrôleur de parent est pressé.
Je ne semble pas être en mesure de remplacer la navigation de retour bouton pour pointer vers le bas de mon détendez-vous des enchaînements d'action et puisque le bouton de retour n'apparaît pas sur la table de montage, je ne peux pas faire glisser le vert bouton Quitter pour elle
J'ai essayé ceci dans viewDidLoad à overrride l'action, mais cela n'a pas fonctionné
[auto.navigationItem.backBarButtonItem setAction:@selector(unwindSegueAction:)];
Est-il possible de se détendre un push enchaîner avec le bouton de retour?
La meilleure idée que j'ai eu jusqu'à présent a été de remplacer le bouton de retour de la méthode viewDidLoad, mais qui supprime l'angle arrière touche de style et semble comme un accidenté de hack pour un simple problème
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"back" style:UIBarButtonItemStyleBordered target:self action:@selector(unwindSegue:)];
Je sais qu'il y a de réponses en utilisant le protocole et les délégués, mais je me suis intéressée à l'aide de la Xcode4.5 détendez-vous segue méthode
Vous devez vous connecter pour publier un commentaire.
À la fin, je n'ai pas besoin de vous détendre le segue depuis que j'ai pu encore obtenir une référence à la mère méthodes de contrôleur en suivant la manette de navigation.
J'ai été en mesure d'obtenir une référence en effectuant les opérations suivantes dans le
- (void)viewWillDisappear:(BOOL)animated
méthode du contrôleur enfantqui a passé les paramètres de la variable de retour pour le contrôleur d'origine parfaitement.
J'ai aussi ajouté une référence à l'importation pour le contrôleur de parent au sommet de la childcontroller
@Alan est sur la bonne voie. Il suffit d'ajouter un test pour empêcher la séquence de tir lorsqu'il n'est pas de revenir à la première vue-contrôleur. Quelque chose comme ceci dans viewWillDisappear va effectivement vous permettre d'effectuer le déroulement des enchaînements pour un bouton de retour. Vous aurez besoin de créer un manuel détendez-vous segue en les faisant glisser à partir de la classe vers le bas de l'icône de la sortie. Assurez-vous de nom après l'avoir créé.
Je tiens à ajouter une solution Swift qui suit @Chuck H suggestion ci-dessus:
Une alternative que vous n'auriez pas envisagé de faire le parent d'un délégué de l'enfant et de l'utilisation délégué méthodes de l'enfant pour mettre à jour le parent.
De cette façon, vous permettrait de contourner le besoin d'ajouter à la navigation se détendre, parce que le parent est déjà à jour, au moment de vous frapper en retour.