web-dev-qa-db-fra.com

Comment définir le titre de la barre de navigation dans le storyboard?

Je ne peux pas résoudre ce problème malgré tous mes efforts. J'ai également consulté la documentation d'Apple et plusieurs questions connexes ici, et j'ai encore un blocage mental à ce sujet.

À l'aide de Xcode 6, j'ai intégré un contrôleur d'affichage de table dans un contrôleur de navigation et je pouvais définir le titre de la barre de navigation dans le contrôleur d'affichage de table, mais pas dans les deux contrôleurs d'affichage connectés à l'affichage de table via segues.

Je pensais qu'il y avait une barre de navigation sur ces deux contrôleurs de vue, car après avoir intégré le contrôleur de vue de table dans le contrôleur de navigation, il bloquait mon champ de texte supérieur dans les deux. J'ai repositionné cela pour que ce ne soit pas un problème, mais dans le storyboard, je ne semble toujours pas être en mesure de cliquer dans la barre de navigation pour ajouter un titre. Après avoir ajouté une barre de navigation manuellement pour le tester, je peux voir il existe une seule barre de navigation dans le contour du document.

Donc, devez-vous simplement définir le titre de la barre de navigation par programme ou avec un IBOutlet ou autre? Il ne semble pas que vous puissiez cliquer dessus dans le story-board.

17
cheznead

Je suis à peu près sûr que c'est un bogue dans xCode ... J'ai rencontré le même problème et la plupart du temps, il a été résolu en redémarrant xCode.

** En outre, vous pourrez peut-être résoudre le problème en faisant:

Faites glisser un élément de navigation du volet des objets dans le contrôleur de vue ou le contrôleur de vue de table. Cela a semblé fonctionner pour moi. J'ai remarqué qu'il manquait la zone de navigation dans le "volet Structure du document".

J'espère que ça aide.

32
rckehoe

J'ai eu le même problème. Ce qui a fonctionné pour moi a été de sélectionner le contrôleur sur lequel je ne pouvais pas définir le titre, cliquez sur éditeur -> incorporer dans -> contrôleur de navigation.

Ensuite, vous devriez pouvoir modifier le titre et, une fois terminé, supprimez le contrôleur de navigation et reconnectez les deux contrôleurs d'origine.

L'écran précédemment intégré doit maintenant contenir le titre que vous avez créé précédemment.

5
Hutch

Essayez de définir le titre par programme -> self.navigationItem.title = @ "REGISTER"; 

5
Yakir Sayada

J'ai eu le même problème en suivant Swift guid d'Apple. Double-cliquer sur la "barre de navigation" ne m'a rien fait. Comment je l'ai résolu: 

1: Sélectionnez "l'élément de navigation" dans le volet Plan du document.

2: Ouvrez l'inspecteur d'attributs.

3: Sélectionnez le champ de titre et écrivez le titre ici à la place.

4
tsson

placez ceci est votre préparation pour segue: [segue.destinationViewController setTitle: @ "Nouvelle tâche"];

2
Dennis Hansen

Veillez à utiliser un Segue relationnel, et non un Segue manuel lors de l'intégration de contrôleurs.

1
kumpri

Aucune des réponses n'a fonctionné pour moi.

Cela a fonctionné:

  1. Supprimer la connexion de navigation 
  2. Ctrl faire glisser une nouvelle connexion de navigation
  3. Faites-en un spectacle
  4. Maintenant, vous pouvez éditer le titre
  5. Supprimer à nouveau la connexion de navigation
  6. Créez à nouveau le type de connexion de navigation d'origine

Il semble que ce soit effectivement un bug dans IB?

1
eonist

Mettez à jour ce problème si quelqu'un d'autre en a besoin:

  1. Faire la transition entre ViewControllers
  2. Choisissez l'option Type comme Afficher (e. Push)
  3. Puis changez cette option Kind sur certaines versions obsolètes - ex. Pousser
  4. Maintenant, vous pouvez éditer vos titres et les éléments de navigation à partir du storyboard
  5. N'oubliez pas de changer à nouveau l'option Type sur ce dont vous avez besoin.
1
xxcat

Vous pouvez également définir la propriété "title" du contrôleur de vue à la place, ce qui définira automatiquement le titre d'un élément de navigation ou d'un élément de barre d'onglets.

En sélectionnant le contrôleur de vue dans le story-board, vous pouvez définir le titre sous "Contrôleur de vue" dans l'inspecteur des attributs (Xcode 9):

 enter image description here

0
sohelpme

Connectez votre élément de navigation à votre classe (par exemple, UIViewController) et accédez à son titre par programme en écrivant les éléments suivants dans votre viewDidLoad:

navigationItem.title = "whateverTextHere"
0
Ade