web-dev-qa-db-fra.com

La barre d'onglets et le titre ne s'affichent pas avec les références de Storyboard

J'ai le storyboard suivant avec une transition vers une référence de storyboard:

 enter image description here

Le problème est que lorsque je lance l'application, elle n'affiche ni l'icône ni le titre:

 enter image description here

Ce sont les paramètres de l'article:

 enter image description here

Qu'est-ce que je rate?

14
MXV

Voici comment afficher correctement l'onglet:

  1. Placez le premier UIViewController qui sera intégré dans l'onglet dans Le même storyboard comme UITabViewController.  enter image description here
  2. Ctrl + glisser du contrôleur de la barre de tabulation au contrôleur de vue de contenu Pour établir la connexion comme d'habitude. Cela Ajoutera automatiquement le UITabBarItem au bas du contrôleur d'affichage du contenu .  enter image description here
  3. Sélectionnez le contrôleur d'affichage du contenu.
  4. Cliquez sur le menu Editeur et choisissez Refactor to Storyboard ...  enter image description here

L'onglet UITabBarController va maintenant pointer vers la nouvelle référence du storyboard ...  enter image description here ... et le contrôleur d'affichage du contenu préserve le UITabBarItem de la relation de la barre d'onglets. Il apparaîtra normalement dans l'application maintenant.  enter image description here

16
Drew C

Vous pouvez modifier l'image/le titre de l'élément de la barre d'onglets dans le contrôleur de vue initial du storyboard auquel vous faites référence. Vous devez simplement ajouter un "élément de barre de tabulation" au contrôleur de vue initial et modifier ses propriétés (titre/image) en conséquence.

  1. Vue d'ensemble du contrôleur de vue racine dans le storyboard référé

document outline of referred to storyboard

  1. L'élément de barre d'onglets modifié dans le contrôleur de vue

initial view controller with modified tab bar item

Remarque: la modification ne sera pas reflétée dans la barre d’onglet du scénarimage principal. vous ne le voyez que dans le storyboard référencé et à l'exécution.

14
Dries

Le problème est que dans le contrôleur de vue cible, vous ne disposez pas d'un UITabBarItem dans la hiérarchie des vues. TabBarItem est lié à la référence du storyboard, mais doit être associé au contrôleur de vue.

Ressemble à un "bug" dans Xcode ...

Pour résoudre ce problème, vous pouvez procéder comme suit:

  • Il suffit de créer les segments du UITabBarController aux références du Storyboard.
  • Vous pouvez configurer les éléments de la barre d'onglets dans les références du storyboard. Ils ne font que montrer les onglets de la barre d'onglets du storyboard, ce qui est agréable pour le développement.

Si vous exécutez maintenant l'application, vous remarquerez en effet que les onglets sont manquants. Pour que les onglets soient également affichés dans l'application en cours, procédez comme suit:

  • Accédez au contrôleur de vue auquel la référence du storyboard fait référence.
  • Ajoutez un élément de barre d'onglets à ce contrôleur de vue en le faisant glisser de la bibliothèque d'objets vers le contrôleur de vue
  • Vous verrez maintenant une barre d'onglets avec un seul onglet dans le contrôleur de vue.
  • Configurez l'élément de la barre d'onglets pour afficher le titre et l'icône corrects

Maintenant, lancez l'application et vous verrez maintenant vos onglets.

 In interface builder, find the Tab Bar item in the Object Library

 Drag the Tab Bar item into your the destination view controller by following the storyboard reference

12
Bocaxica

J'ai essayé d'ajouter une autre barre d'onglets, puis j'ai ajouté un élément, une image et une image, mais aucun des éléments ci-dessus ne semblait fonctionner avec mon cas. C'était comme ceci:  Other VC tabs were showing tabBar icons properly but one that i refactored was missing its icon

Ensuite, je l'ai comparé à VC qui fonctionnait correctement avec les icônes TabBar.  enter image description here

plus tard, j'ai constaté que mes éléments de navigation et ceux de la barre d'onglets n'étaient pas ensemble: 

 The Tab bar item was inside with Navigation Bar.... i dragged the tabBar item to HomeVC and placed with NavigationBar item

Maintenant ça marche :) :)

 enter image description here

4
Parajuli Roman

Après avoir lutté avec ce problème pendant quelques jours, j'ai trouvé cette solution. Double-cliquez sur le lien du storyboard, ce qui ouvrira le storyboard référencé. Dans le navigateur de scène, vous pouvez modifier l'élément de barre avec un titre et une icône personnalisés. Fonctionne dans xCode 9.

Storyboard

Scene Navigator

3
QuattroDog

J'ai eu exactement ce même problème et aucune des réponses ci-dessus n'a fonctionné dans mon cas. J'ai résolu en réglant l'image de la barre d'onglets dans la section des éléments image bar à l'intérieur de la référence du storyboard, comme indiqué dans l'image ci-jointe: 


 enter image description here

1
Mauricio Chirino

J'ai créé la suite dans le storyboard et la classe pour chaque UINavigationController Et le code suivant dans chaque classe UINavigationController 

override func viewDidLoad() {
        super.viewDidLoad()
        let someController = StoryboardManager.surveyStoryboard.instantiateViewControllerWithIdentifier("SomeController") as! SomeController
        viewControllers = [someController]
        // Do any additional setup after loading the view.
    }

 enter image description here

0