Lorsque j'appuie une nouvelle vue de mode sur une pile de contrôleur de navigation, le bouton "BACK" est le titre du contrôleur précédent. P>
Comment puis-je modifier le texte dans le bouton arrière pour "retour" au lieu du nom par défaut du dernier contrôleur? P>
6 Réponses :
Vous devez créer un bouton personnalisé sur le contrôleur de navigation. Mettez le code suivant dans la ViewDidloadload em> dans votre contrôleur de vue racine: En réglant la barre de navigation sur le contrôleur de vue racine, la vue poussée indique le dos approprié bouton. p> p>
Vous pouvez réellement définir le titre sur le titre de la page d'affichage du contrôleur de la vue principale du contrôleur d'affichage de la vue principale. Fondamentalement, chaque Assumant 'Self' est le uiviewcontroller code> a un peu de talon
uinavigentitem code> qui contient des métadonnées sur la manière dont cette vue doit être référencée à l'intérieur d'un
uinavigationController code>. Par défaut, que les métadonnées redeviennent simplement à la
uiviewcontroller code> elle-même.
uiviewcontroller code> de la vue visible dans le
uinavigationController Code>, SET: P>
self.navigationItem.title = @"My Custom Title"
Cela fait non seulement seulement les boutons Titre "Mon titre personnalisé", mais il rend également la page précédente dans le titre de la pile de navigation "Mon titre personnalisé".
C'est la bonne façon de faire un bouton arrière avec quelque chose d'autre que le précédent titre de pages c'est à ma compréhension que: p> fera le titre de la barre de navigation à la page précédente ce qui n'est pas ce que vous voulez. p> p>
Vous pouvez modifier le titre du contrôleur d'affichage actuel du contrôleur de navigation avant de pousser le nouveau contrôleur de vue:
self.title = @"Custom Title"; [self pushViewController: newViewController ...]; and in the navigation controller's delegate class -(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { if([viewController class] == [OldViewController class]) { viewController.title = @"Your previous title"; } }
Je sais, la question est très ancienne, mais j'ai trouvé une belle solution.
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] init]; barButton.title = @"back"; self.navigationController.navigationBar.topItem.backBarButtonItem = barButton;
Vous pouvez y parvenir en définissant le titre de bouton arrière dans la fonction "ViewWilldisappar" du contrôleur d'origine comme suit:
override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) //Set Title for this view self.navigationItem.title = "My Title" } override func viewWillDisappear(animated: Bool) { super.viewWillAppear(animated) //Set Title for back button in next view self.navigationItem.title = "Back" }
Sachez simplement que cela est froncé sur les directives d'interface d'iPhone d'Apple. (Bien que citoyablement nécessaire quand des titres courent longtemps.)