Vous devez créer un nouveau UITabBarItem
et l'affecter à la propriété tabBarItem
de votre contrôleur de vue.
// In viewDidLoad()
self.tabBarItem = UITabBarItem(title: "Hello world!", image: #imageLiteral(resourceName: "routineIcon").withRenderingMode(.alwaysOriginal), tag: 0)
De plus, si vous utilisez un catalogue d'actifs (que vous devriez), notez que dans vos paramètres d'actifs que vous avez un Render Comme paramètre que vous pouvez définir à Toujours original. Vous pouvez alors ignorer le .withRenderingMode(.alwaysOriginal)
lorsque vous utilisez votre image.
// In viewDidLoad()
self.tabBarItem = UITabBarItem(title: "Hello world!", image: #imageLiteral(resourceName: "routineIcon"), tag: 0)
Il y a aussi un initialiseur qui prend une image sélectionnée si vous avez un
// In viewDidLoad()
self.tabBarItem = UITabBarItem(title: "Hello world!", image: #imageLiteral(resourceName: "routineIcon"), selectedImage: #imageLiteral(resourceName: "routineIconSelected"))
Note: En règle générale, le système de modification UIBarItem
objets (UITabBarItem
pour les barres d'onglets et UIBarButtonItem
pour barres de navigation ou barres d'outils) souvent ne fonctionne pas et vous devez en créer un nouveau.
Les éléments de barre système sont ceux créés avec init(tabBarSystemItem:tag:)
(pour UITabBarItem
) ou init(barButtonSystemItem:target:action:)
(pour UIBarButtonItem
).
Lorsque vous utilisez un storyboard, vous pouvez décider d'utiliser un élément de la barre système ou un élément personnalisé.
Cela a fonctionné! Merci beaucoup! J'espère que la ligne de code ci-dessus fonctionnera finalement, car il serait cool de modifier certaines choses comme ça au lieu de créer un tout nouveau code – Harish