51 votes

Définir le titre de la barre de navigation créée dans Interface Builder

J'ai un contrôleur de vue modale dont la vue provient d'un fichier XIB. Je souhaite que son apparence et la même sensation que le reste de mon application basée sur la navigation, mais ce n'est pas une vue qui est poussée à la pile de navigation, elle est présentée de manière modale. J'ai fait glisser un UINavigationBar et en ai fait un point de vente, mais il n'a pas de propriété title à définir. J'ai deux champs qui peuvent faire apparaître cette vue modale et je veux que le titre soit défini différemment en fonction de celui qui crée la vue modale.

90voto

codelark Points 7168

UINavigationBars'gérer une pile de UINavigationItems comme un UINavigationController manager une pile de UIViewControllers. Pour définir ce qui est visible directement, vous devez utiliser pushNavigationItem:animated: ou setItems:animated: à l'aide de la navigationItem de la vue contrôleur de la barre de réfléchir.

par exemple:

self.navigationItem.title = @"A custom title";
[self.navigationBar pushNavigationItem:self.navigationItem animated:NO];

Le code ci-dessus où vous avez une propriété navigationBar références le stand-alone de la barre de navigation.

Si vous ne voulez pas gérer vous-même, vous pouvez faire en tant que mplappert suggéré et nest votre vue-contrôleur (sans stand-alone UINavigationBar) en UINavigationController et de présenter la manette de navigation modal au lieu de votre vue-contrôleur.

64voto

typeoneerror Points 19087

Vous avez également trouvé ce moyen plus facile si vous avez déjà défini un UINavigationBar dans votre IB. En supposant que self.navigationBar soit votre IBOutlet:

 self.navigationBar.topItem.title = title;
 

8voto

user1864957 Points 41

(Utilisation de XCode 4.5.2) Nous avons trouvé une méthode qui fonctionne directement dans Interface Builder - sans définition de code.

Avec l'objet ViewController sélectionné dans (IB), sous l'inspecteur d'identité se trouve une section intitulée " Attributs d'exécution définis par l'utilisateur ". J'ai ajouté le keyPath "titre" de type String et le définit sur la valeur que je voulais.

Testé et cela fonctionne lorsqu'il est placé sur une pile de contrôleurs de navigation et ouvert de manière modale (avec un contrôleur de navigation modal bien sûr).

4voto

yogesh yadav Points 21

fichier viewcontroller.h dans create iboutlet de l'élément de navigation

      @property (weak, nonatomic) IBOutlet UINavigationItem *navigationBarTitle;
 

- nommé "navigationBarTitle"

dans le fichier viewcontroller.m dans ajouter le code dans super viewDidLoad

       self.navigationBarTitle.title = @"Favorites";
 

connectez l'article Storybord dans l'élément de la barre de navigation à navigationBarTitle.

0voto

Devine Linvega Points 6

dans mon fichier .h

  • Faites glisser l'enfant de l'élément de navigation du storyboard dans le fichier .h

  • L'a nommé "navigationBarTitle"

dans mon fichier .m

  • Ajouté self.navigationBarTitle.title = @ "Certains titres";

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