web-dev-qa-db-fra.com

Le curseur ne s'affiche pas dans UISearchBar pour notre application

Pour les UISearchBars dans notre application, il n'y a pas de curseur affiché dans la barre avec le focus lors de l'exécution sous iOS 7. Comment faire pour que cela s'affiche?

Nous utilisons le SDK 7, avec un objectif minimum de 6. Nous avons désactivé la translucidité pour les barres de navigation et défini la couleur au moment de l'exécution. Je ne peux penser à rien d'autre que nous faisons différemment.

51
Jason Hocker

Notre problème était que la couleur de la teinte était réglée sur blanc, donc je ne l'ai pas vue.

109
Jason Hocker

Ensemble

searchBar.tintColor = [UIColor blueColor];
28
Mann

Dans la fenêtre des propriétés du champ de recherche

ouvrez la section Affichage> Définir la couleur de la teinte - par défaut.

enter image description here

J'espère que cela vous aidera.

7
Ram S

Voici comment cela peut être fait en Swift:

override func viewWillAppear(animated: Bool) {
    self.searchBar.tintColor = UIColor.whiteColor()

    let view: UIView = self.searchBar.subviews[0] as! UIView
    let subViewsArray = view.subviews

    for (subView: UIView) in subViewsArray as! [UIView] {
        println(subView)
        if subView.isKindOfClass(UITextField){
            subView.tintColor = UIColor.blueColor()
        }
    }

}
3
Benjamin
searchBar.tintColor = view.tintColor  // self.view usually has the proper tintColor

Mieux que .blue ou peu importe.

2
Dmitry Isaev

Définissez simplement le tintColor pour UISearchBar, dans votre storyboard, xib ou code. Xcode semble ignorer la teinte par défaut.

0
Madson Cardoso

Vous pouvez parcourir les sous-vues searchBars et obtenir la sous-vue uitextfield et définir sa valeur @ "insertionPointColor" à la couleur souhaitée. Fonctionne mais est une API privée

for (UIView *subView in self.searchBar.subviews) {
    if ([subView isKindOfClass:[UITextField class]]) {
        [[(UITextField *) subView valueForKey:@"textInputTraits"] setValue:[UIColor blackColor] forKey:@"insertionPointColor"];
    }
}
0
ClemensL