237 votes

iOS 7 navigation bar personnalisée bouton "retour" sans titre

Comment puis-je personnaliser le bouton de navigation retour dans iOS 7 sans titre ? (avec la flèche seulement)

Je me demande si ils ont tout self.backButtonItem ;

OU

quelque chose comme ça ?

319voto

Kyle Begeman Points 2159

C’est en fait assez facile, voici ce que je fais :

Mettre cette ligne dans le contrôleur de vue qui pousse sur de la pile. Le bouton back de contrôleur de vue nouvellement poussé affiche maintenant tout ce que vous mettez pour initWithTitle, qui dans ce cas est une chaîne vide.

197voto

Thomás C. Points 874

J'ai trouvé un moyen facile de faire de mon bouton de retour avec iOS flèche unique.

Nous allons supouse que vous avez une manette de navigation va ViewA de ViewB. Dans IB, sélectionnez ViewA de la barre de navigation, vous devez voir ces options: le Titre, l'Invite et Bouton de Retour.

ViewA naviguer dans les options de la barre

ViewA navigate bar options

L'astuce est de choisir votre destin vue arrière bouton de titre (ViewB) dans les options d'origine (affichage). Si vous ne cochez pas l'option "Bouton Retour", iOS va mettre le titre "Retour" automatiquement, avec vue sur l'origine du titre. Donc, vous devez remplir cette option avec un seul espace.

Remplir l'espace dans le Bouton "Retour" option

Fill space in "Back Button" option

Le Résultat:

The Result:

29voto

Anibal Itriago Points 169

iOS7 a la nouvelle interface des règles, Il est donc préférable de conserver au moins la flèche de retour lorsque vous appuyez sur une UIView. Il est très facile de changer le "retour" du texte par programmation. Il suffit d'ajouter ce code avant de pousser la vue (Ou prepareForSegue si vous utilisez des story-boards):

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
      self.navigationItem.backBarButtonItem=[[UIBarButtonItem alloc] initWithTitle:@"NEW TITLE" style:UIBarButtonItemStylePlain target:nil action:nil];
}

Cela va changer la valeur par défaut "Retour" du texte, mais permet de garder le iOS7 style de flèche de retour. Vous pouvez également modifier la teinte de la couleur de la flèche de retour avant de pousser la vue:

- (void)viewDidLoad{
     //NavBar background color:
     self.navigationController.navigationBar.barTintColor=[UIColor redColor];
//NavBar tint color for elements:
     self.navigationController.navigationBar.tintColor=[UIColor whiteColor];
}

Espérons que cela vous aide!

22voto

Guto Araujo Points 1438

Cela fonctionne :

Juste de définir cette propriété sur `` du contrôleur de vue poussés.

21voto

hiroshi Points 1796

EDIT: 2014-04-09: Comme je l'ai acquis une réputation, je suis désolé car je n'utilise pas ce truc en plus. Je vous recommande de Kyle réponse. Notez également que l' self de self.navigationItem.backBarButtonItem n'est pas le point de vue du contrôleur sur le bouton de retour est affiché, mais la vue précédente contrôleur à être retourné.

Si vous n'avez pas besoin d'avoir un titre de texte pour l'affichage précédent contrôleur, il vous suffit de remplir le titre avec une chaîne vide;

self.navigationItem.title = @"";
[self.navigationController pushViewController:viewController animated:YES];

Cela permettra d'éviter de faire preuve de "retour" avec chevron sur le poussé-vue-contrôleur.

EDIT: Même si vous utilisez non vide de texte titre, définir le titre de la vue précédente contrôleur en viewWillAppear: fonctionne sauf le titre peut scintiller en un clin d'oeil quand-vue-contrôleur sauté. Je pense que "L'application twitter" semble faire de plus en plus subtiles hack pour éviter le scintillement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X