Comment afficher le bouton de retour sur le RootViewController de UINavigationController?
Voici mon code. Je veux mettre un bouton de retour sur l'ouverture rootviewController.
- (void)selectSurah:(id)sender {
SurahTableViewController * surahTableViewController = [[SurahTableViewController alloc] initWithNibName:@"SurahTableViewController" bundle:nil];
surahTableViewController.navigationItem.title=@"Surah";
surahTableViewController.navigationItem.backBarButtonItem.title=@"Back";
UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:surahTableViewController];
[self presentModalViewController:aNavigationController animated:YES];
}
source d'informationauteur shaikh
Vous devez vous connecter pour publier un commentaire.
Je ne crois pas qu'il est possible de pop la vue racine contrôleur hors tension de la pile de navigation, mais vous pouvez faux avec un
UIButton
ajouté que la vue personnalisée d'unUIBarButtonItem
:Approprié PSD iOS des éléments de l'INTERFACE utilisateur peut être trouvé ici.
Faizan,
Helium3 commentaire de sens.
Je suppose que votre bouton est nécessaire pour rejeter le contrôleur a présenté modal, est-il vrai? Corriger si je me trompe.
Si oui, vous pouvez simplement créer un nouveau
UIBarButtonItem
et l'ensemble est à gauche (ou à droite) bouton pour leUINavigationController
navigationItem
. Pour ne pas casser l'encapsulation de créer dans leviewDidLoad
méthode pour votreSurahTableViewController
contrôleur.Depuis le
SurahTableViewController
est une vue de la racine de contrôleur dans un navigation controller, vous ne pouvez pas revenir à la racine, car vous êtes déjà là. Depuis que vous avez présenté, il modal de quelque chose d'autre, vous avez besoin de mettre un bouton sur la barre de navigation qui a unIBAction
qui appelle:Apparence et le comportement d'un bouton de retour dans un UINavigationController repose sur l'interaction entre une pile de UINavigationControllers. Mettre un bouton de retour sur le premier contrôleur de sauts de la présente convention, il n'y a rien de revenir en arrière, c'est pourquoi votre code ne fonctionne pas.
Vous aurez besoin d'ajouter manuellement des UIBarButtonItem à la barre de titre du code comme:
Si vous voulez vraiment qu'il ressemble à un bouton de retour, vous aurez besoin de créer manuellement le UIBarButtonItem avec une image qui reflète le bouton de retour.
Une autre suggestion si, comme il semble que vous essayez d'utiliser un bouton de retour à rejeter un modal-vue-contrôleur, je collerais avec quelque chose de plus conventionnel comme un "Proche" ou "ok" pour fermer la modale de-vue-contrôleur. Un bouton de retour est vraiment le plus approprié pour la navigation d'un empilement de UINavigationControllers.