J'essaie de changer la couleur du bouton Paramètres en blanc, mais je ne peux pas le faire changer.
J'ai essayé les deux:
navigationItem.leftBarButtonItem?.tintColor = UIColor.whiteColor()
navigationItem.backBarButtonItem?.tintColor = UIColor.whiteColor()
mais pas de changement, ça ressemble toujours à ça:
Comment rendre ce bouton blanc?
ios
swift
uinavigationbar
uibarbuttonitem
backbarbuttonitem
Brandon Evans
la source
la source
AppDelegate.swift > application(application:didFinishLaunchingWithOptions:)
vous pouvez écrire:self.window!.tintColor = .yourColor
Ce code change la couleur de la flèche
Si cela ne fonctionne pas, utilisez le code ci-dessous:
Swift 3 Notes
UIColor.whiteColor()
et similaires ont été simplifiés pourUIColor.white
De plus, de nombreuses options précédemment implicites ont été changées en explicites, vous pourriez donc avoir besoin de:
la source
self.navigationController?.navigationBar.tintColor = UIColor.whiteColor()
travaillé pour moi (Swift 2.2)Très facile à mettre en place dans le storyboard:
la source
Vous devriez utiliser ceci:
la source
Rapide
la source
Vous pouvez utiliser comme celui-ci. Placez-le à l'intérieur
AppDelegate.swift
.la source
Swift 4.2
Changer le thème complet de l'application
Changer de contrôleur spécifique
la source
UINavigationController
?Dans Swift3 , pour définir le bouton Retour sur
red
.la source
Dans Swift 4, vous pouvez résoudre ce problème en utilisant:
la source
Swift 3
La réponse la plus positive n'est pas correcte pour Swift 3.
Le code correct pour changer de couleur est:
Si vous souhaitez changer de couleur, changez UIColor.white ci-dessus pour la couleur souhaitée
la source
Tous les paramètres de réponse sont en
UINavigationBar.appearance().tintColor
conflit avec la documentation d'Apple dansUIAppearance.h
.Dans Xcode, vous devez cliquer sur chaque propriété que vous souhaitez utiliser avec le proxy d'apparence pour inspecter le fichier d'en-tête et vous assurer que la propriété est annotée avec
UI_APPEARANCE_SELECTOR
.Ainsi, la bonne façon de colorer la barre de navigation en violet et le titre et les boutons blancs dans toute l'application via le proxy d'apparence est:
Notez que ce
UIBarButtonItem
n'est pas une sous-classe deUIView
mais plutôtNSObject
. Donc , satintColor
propriété est pas héritétintColor
deUIView
.Malheureusement,
UIBarButtonItem.tintColor
n'est pas annoté avecUI_APPEARANCE_SELECTOR
- mais cela me semble un bogue de documentation. La réponse d'Apple Engineering dans ce radar indique qu'il est pris en charge.la source
Cet extrait fait la magie. Au lieu de redColor, changez-le comme vous le souhaitez.
la source
Utilisez ce code en
AppDelegate
classe, à l'intérieur dedidFinishLaunchingWithOptions
.la source
Essayons ce code:
la source
en utilisation Swift 2.0
la source
Si vous avez déjà le bouton de retour dans votre contrôleur de vue "Paramètres" et que vous souhaitez changer la couleur du bouton de retour sur le contrôleur de vue "Informations de paiement" en autre chose, vous pouvez le faire dans le contrôleur de vue "Paramètres" pour préparer la suite comme ceci :
la source
Cela fonctionne pour moi, iOS 9.0+
la source
Ajouter le code suivant à didFinishLaunchingWithOptions fonction AppDelegate.swift
la source
Pour Swift 2.0, pour changer la couleur de teinte de la barre de navigation , le texte du titre et la couleur de teinte du bouton retour ont été modifiés à l'aide de ce qui suit dans AppDelegate.swift
la source
Je ne sais pas pourquoi personne n'a mentionné cela ... mais je faisais exactement ce que vous faisiez dans mon
viewDidLoad
... et cela ne fonctionnait pas. Ensuite, j'ai placé mon codeviewWillAppear
et tout a fonctionné.La solution ci-dessus consiste à modifier un seul barbuttonItem. Si vous souhaitez modifier la couleur de chaque barre de navigation dans votre code, suivez cette réponse .
Fondamentalement, changer la classe elle-même en utilisant
appearance()
est comme faire un changement global sur toutes les instances de cette vue dans votre application. Pour en savoir plus, cliquez icila source
Vous avez le choix de cacher votre bouton de retour et de le faire avec vous-même. Puis définissez sa couleur.
Je l'ai fait:
la source
Il sera résolu avec cette ligne dans - (void) viewDidLoad:
la source
(lldb) p self.navigationItem.backBarButtonItem (UIBarButtonItem *) $9 = nil (lldb)
Vous devriez ajouter cette ligne
la source
Je préfère le NavigationController personnalisé plutôt que de définir une interface utilisateur globale ou de le placer dans ViewController.
Voici ma solution
De plus, vous n'avez pas besoin de jouer avec Apple Api comme EKEventEditViewController , PickerViewController et ainsi de suite si vous utilisez les paramètres globaux ui comme
UIBarButtonItem.appearance().tintColor = .white
la source
la source