Problème avec popViewControllerAnimated

Bonjour,


 


J'ai un problème certainement tout bête sur quelque chose de simple, mais que je n'arrive pas à  résoudre...


 


J'ai un UINavigationController avec un bouton dans la view. Quand l'utilisateur clique sur le bouton, il doit revenir à  l'écran précédent.


Pour cela, j'utilise :


- (IBAction)back:(id)sender {


    //morceau de code qui s'exécute normalement

    [self.navigationController popViewControllerAnimated:YES];

}


Et rien ne se passe après mon morceau de code qui s'exécute normalement...


Avez-vous une idée de ce que j'aurais pu rater ?


Sur la capture d'écran, c'est le bouton "Supprimer le filtre" qui est concerné.


 


Merci !


Réponses

  • popViewControllerAnimated: sert à  naviguer "à  l'intérieur" d'un Navigation Controller ; c'est à  dire entre les vues créées à  l'intérieur d'un Navigation Controller. Toi j'ai l'impression que tu veux sortir carrément du Navigation Controller, il faut donc s'y prendre différemment


  • Jean-PhiJean-Phi Membre
    février 2015 modifié #3

    Oui, tu as raison, c'est cette ligne que je dois utiliser :


     


    [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];


    C'est ce que j'avais fait initialement, mais sans succès...


     


    J'ai créé un projet tout neuf en reproduisant le scénario avec juste deux viewcontrollers, et cela fonctionne parfaitement.


    Il y a probablement quelque chose qui interfère dans mon projet principal, mais pour le moment je ne trouve pas...


  • En fait self.presentingViewController est null, mais je ne sais pas pourquoi... :'(


  • Je précise un peu le contexte au cas où...


    Le NavigationController est affiché (segue Show) quand l'utilisateur touche une tableViewCell Static.


    C'est donc au TableViewController que je veux revenir depuis le bouton.


    J'ai fait un test en créant une nouvelle tableViewCell, que j'ai lié à  un nouveau NavigationController : même résultat. Je me dis donc que le problème provient de mon tableViewController.


  • Sauf si tu as d'autres contraintes dans ton application, il me paraà®trait plus logique de mettre ta Vue en Table dans le Navigation Controller, et non le contraire.


  • Désolé, mais je n'ai pas compris ta réponse.


     


    Je ne sais pas si tu as vu ma capture d'écran sur mon message initial : des NavigationController sont associés à  plusieurs Cell de ma TableView. L'objectif est de définir différents filtres qui seront utilisés pour interroger un webservice.


  • jpimbertjpimbert Membre
    février 2015 modifié #8

    Oui j'ai vu. Cela ne change pas mon opinion.


    Un seul Navigation Controller qui contient la vue en table comme Root View Controller.


  • J'ai déjà  un NavigationController qui contient mon TableView... Mais si je comprends bien ta remarque, ce n'est pas util de remettre un NavigationController en sortie du TableView. Je m'étais effectivement posé la question.


    Cela dit, ça m'agace tout de même de ne pas comprendre mon problème initial B)


     


    Je devrais pouvoir contourner... merci pour ta patience !


  • Si tu as déjà  un Navigation Controller, pas besoin d'en rajouter un.


    Il suffit de faire un push segue vers ta nouvelle vue depuis la vue en table. Dans ce cas là  le pop fonctionnera.


  • Oui, c'est exactement ce que je viens de faire !


Connectez-vous ou Inscrivez-vous pour répondre.