ios7 uisearchbar uisearchbardisplaycontrol

ios7 - El cursor no se muestra en UISearchBar para nuestra aplicación



uisearchbardisplaycontrol (7)

Para las UISearchBars en nuestra aplicación, no se muestra ningún cursor en la barra con enfoque cuando se ejecuta en iOS 7. ¿Cómo hacemos que se muestre?

Estamos utilizando el SDK 7, con un objetivo mínimo de 6. Tenemos la translucidez desactivada para las barras de navegación, y configuramos el color en tiempo de ejecución. No puedo pensar en otra cosa que estemos haciendo diferente.


Así es como se puede hacer 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() } } }


Conjunto

searchBar.tintColor = [UIColor blueColor];


En la ventana de propiedades del cuadro de búsqueda

Abra la sección Ver> Establecer color de tinte - predeterminado.

Espero que esto ayude.


Nuestro problema era que el color del tinte era blanco, así que no lo vi.


Puede recorrer las subvistas de searchBars y obtener la subvista uitextfield y establecer su valor @ "insertionPointColor" en el color deseado. Funciona pero es api privado.

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


Solo establece tintColor para UISearchBar, en tu guión gráfico, xib o código. Xcode parece ignorar el tintColor predeterminado.


searchBar.tintColor = view.tintColor // self.view usually has the proper tintColor

Mejor que .blue o lo que sea.