Définition de la couleur de la teinte pour la barre de search embeddede dans la barre de navigation

J'ai une application qui a un thème de teinte bleue à l'set de l'interface user. J'ai également une barre de search embeddede dans la barre de navigation sur ma vue initiale. La couleur du text de mon button pour l'application est blanche et déclare que dans le délégué de l'application en utilisant:

[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 

Le problème est que la barre de search incorporée masque le slider lorsqu'elle est sélectionnée en raison de la teinte blanche affectant la barre de search. J'ai essayé de définir spécifiquement la teinte de la barre de search sur [UIColor blueColor] en utilisant deux methods, mais je n'ai pas eu de chance. Les deux façons dont j'ai essayé de réorienter la barre UISearch sont:

  [self.navigationController.searchDisplayController.searchBar setTintColor:[UIColor blueColor]]; 

et

  [searchBar setTintColor:[UIColor blueColor]] 

Le searchBar devrait être référencé correctement.

Rien de ce que je fais à ces points de vente affecte la barre de search embeddede du tout.

Avait le même problème. Résolu en utilisant ce code après avoir incorporé la barre de search dans la barre de navigation.

  self.navigationItem.titleView.tintColor = [UIColor blueColor]; 

Probablement pas la meilleure solution, mais cela fonctionne.

Sous iOS 7 (et au-delà, vraisemblablement), vous voudrez probablement définir barTintColor sur vos barres de navigation et de search pour modifier la couleur de l'interface user.

 [searchBar setBarTintColor:[UIColor blueColor]] 

Pour la même apparence, vous voudrez utiliser barTintColor dans iOS 7+ et utiliser tintColor pour quelque chose de plus tôt. Si vous essayez de modifier tintColor dans iOS 7, vous allez changer la couleur de votre slider, ce qui entraîne le problème de slider "caché" que vous mentionnez.

Différence entre tintColor et barTintColor sur UISearchBar dans iOS 7!

Si vous le sous-classz, vous avez également la possibilité de contrôler le statusBarStyle.

 import UIKit class SearchController: UISearchController { override func viewDidLoad() { super.viewDidLoad() searchBar.tintColor = UIColor.tintColor() searchBar.barTintColor = UIColor.backgroundColor() } override func preferredStatusBarStyle() -> UIStatusBarStyle { return .LightContent } } 

entrez la description de l'image ici