J'ai lu un tas de questions connexes, j'ai essayé ce qu'elles ont dit, rien ne fonctionne vraiment. Pas certain de pourquoi. Donc, j'ai 3 UIStoryboards
différents. Le premier est le Storyboard Auth qui gère la connexion/l'inscription et il y a une référence de storyboard au deuxième storyboard - Storyboard de la barre d'onglets. Ce storyboard contient 5 autres références de storyboard qui chargeraient ses contrôleurs de vue séparés.
Mon problème est que les icônes ne s'affichent pas une fois que l'utilisateur est connecté. J'ai configuré une couleur personnalisée du premier contrôleur de vue dans le UITabViewController
juste pour m'assurer qu'il se charge. Cela fait.
J'ai essayé de définir toutes les images/icônes pour les rendre en "Original", cela n'a pas fonctionné. J'ai défini une image système, juste pour voir si c'est le problème, elles ne sont pas affichées. Il convient également de mentionner que les icônes sont affichées dans le storyboard, mais lorsqu'elles sont compilées, elles ne sont visibles nulle part dans le simulateur.
Qu'est-ce que je fais mal?
PS: J'ai changé la couleur de la teinte de la barre d'onglets, juste pour la tester, et ça marche. Donc, le problème n'est pas avec ça ...
Si vous avez des références de storyboard attachées à votre contrôleur de barre d'onglets, vous remarquerez que la référence de storyboard a en fait un UITabBarItem dessus:
Ne définissez pas les propriétés de ce "faux" UITabBarItem!
Vos paramètres ne feront rien du tout lorsque vous exécutez l'application. Les valeurs que vous fournissez affectent UNIQUEMENT ce que vous voyez dans Interface Builder, pas votre application lorsque vous l'exécutez.
Ce que vous devez faire est d'accéder au contrôleur de vue ACTUEL vers lequel pointe votre référence de storyboard. Ce contrôleur de vue aura également un UITabBarItem dessus. Il s'agit du "vrai" UITabBarItem. Définissez vos propriétés (icône, titre, etc.) et vous les verrez s'afficher lorsque vous exécutez l'application.
J'ai joint une image décrivant les connexions:
Connectez le contrôleur TabBar à vos cinq contrôleurs de vue
Pour chaque contrôleur de vue, sélectionnez n'importe quel contrôleur de vue -> Aller à l'éditeur dans les options Xcode en haut -> Intégrer dans -> Contrôleur de navigation
- Sélectionnez la barre inférieure dans le contrôleur de navigation -> ouvrez l'inspecteur d'attributs dans les utilitaires -> fournissez votre titre et votre image comme mis en évidence dans l'image
Navigation de la connexion/inscription à l'écran TabBar: Fournissez l'ID du storyboard à TabBarController, par exemple. "TabBarController" et créez l'instance TabBarController à l'aide de l'ID Storyboard du Storyboard correspondant.
Swift 3
func navigateToTabBar() {
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let nextViewController = storyBoard.instantiateViewController(withIdentifier: "TabBarController") as UIViewController
self.present(nextViewController, animated:true, completion:nil)
}