J'essaie d'écraser l'action par défaut du bouton retour dans un contrôleur de navigation. J'ai fourni une cible et une action sur le bouton personnalisé. Ce qui est étrange, c'est qu'en l'assignant à travers l'attribut backbutton, il n'y prête pas attention et se contente de sortir de la vue courante et de revenir à la racine :
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
initWithTitle: @"Servers"
style:UIBarButtonItemStylePlain
target:self
action:@selector(home)];
self.navigationItem.backBarButtonItem = backButton;
Dès que je l'ai mis en place par le biais du leftBarButtonItem
sur le navigationItem
il appelle mon action, mais le bouton ressemble alors à un simple bouton rond au lieu d'un bouton fléché vers l'arrière :
self.navigationItem.leftBarButtonItem = backButton;
Comment puis-je faire en sorte qu'il appelle mon action personnalisée avant de revenir à la vue Racine ? Existe-t-il un moyen d'écraser l'action de retour par défaut, ou existe-t-il une méthode qui est toujours appelée lorsque l'on quitte une vue ( viewDidUnload
ne le fait pas) ?
0 votes
Action:@selector(home)] ; nécessite un : après le sélecteur action:@selector(home :)] ; sinon cela ne fonctionnera pas
7 votes
@PartySoft Ce n'est pas vrai à moins que la méthode ne soit déclarée avec les deux points. Il est parfaitement valide d'avoir des boutons qui appellent des sélecteurs qui ne prennent pas de paramètres.
0 votes
Duplication possible de Arrêter le self.navigationItem.leftBarButtonItem de quitter une vue
3 votes
Pourquoi Apple ne fournirait-elle pas un bouton ayant la forme d'un bouton arrière ? Cela semble assez évident.
0 votes
Regardez le solution dans ce fil
0 votes
J'ai procédé de la manière suivante afficher la décision
0 votes
J'affiche ceci stackoverflow.com/a/62275894/4084902 pour remplacer l'action par défaut du bouton "retour".