Comment faire UINavigationItem backBarButtonItem rectangulaire?
-
26-10-2019 - |
Question
Comment régler self.navigationItem.backBarButtonItem
de mon RootViewController
, de sorte que le bouton de retour est rectangulaire au lieu d'avoir une flèche de retour? Je veux le faire parce que je suis sur un backBarButtonItem
personnalisé avec une image d'une grille de quatre carrés (comme l'image de neuf-ceindre carré que l'utilisation d'applications iPhone Facebook pour son bouton d'accueil).
À l'heure actuelle, en -[RootViewController initWitNibName:bundle:]
, je fais:
self.navigationItem.backBarButtonItem =
[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"go-home.png"]
style:UIBarButtonItemStylePlain
target:nil action:NULL];
Remarque:. Cela ne provoque pas une fuite de mémoire que j'utilise ARC
Mais, ce qui rend le bouton gauche ont une flèche. Y at-il une solution simple pour rendre le bouton rectangulaire de tous les côtés?
Je sais que je pourrais mettre la leftBarButtonItem
pour tous les contrôleurs de vue qui peuvent se pousser par l'RootViewController
, mais il y a comme cinq options différentes, de sorte que ce serait beaucoup de répétitions. Je suppose que je pourrais faire une méthode, par exemple, +[Utils homeBarButtonItem]
, qui crée le bouton ci-dessus et self.navigationItem.leftBarButtonItem = [Utils homeBarButtonItem];
ensuite appel dans chacune des cinq voir les méthodes de -viewDidLoad
des contrôleurs, mais je me demande s'il y a une solution simple qui me manque.
La solution
Malheureusement, la seule façon, comme vous le suggérez, est d'utiliser un leftBarButtonItem
et utiliser un générateur de bouton classe utilitaire.
Définir l'action de votre leftBarButtonItem
pour faire apparaître le contrôleur de vue et vous avez terminé.
[self.navigationController popViewControllerAnimated:YES];