2012-06-01 22 views
5

he el siguiente código para mi UISearchBar:UISearchBar imagen clara fondo

UISearchBar * searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 300, 44)]; 
    searchBar.placeholder = @"Search for a tag"; 
    searchBar.delegate = self; 

El resultado es el siguiente:

enter image description here

me gustaría cambiar el fondo blanco a una clara color. ¿Cómo hago esto? Básicamente quiero que el textField color de fondo sea claro.

+0

Por favor, intente [esto] [1] [1]: http://stackoverflow.com/questions/2139115/uisearchbar-clear-background-color-or-set-background- imagen-iphone-sdk esperamos que le ayuda .... Gracias –

+0

que se enfrentan a este problema hace poco, tengo una solución diferente imagen de fondo transparente de ajuste que no sea http://stackoverflow.com/questions/37158702/ ios-uisearchbar-background-color-in-ios-9 –

Respuesta

2

hacer una imagen transparente, y usar la imagen con más adelante código.

[search setSearchFieldBackgroundImage:[UIImage imageNamed:@"bg_search.png"] forState:UIControlStateNormal]; 
+0

¿Te sirve esto o no? Respuesta de Pls y voto positivo si es útil para usted ... – jaym

+2

Encontré que destruyó el campo de texto de la barra de búsqueda, no el fondo, debería haber sido: '[searchBar setBackgroundImage: [UIImage imageNamed: @" bg_search.png "] ]; ' –

0

uso este código:

searchBar.backgroundColor=[UIColor clearColor]; 
+0

Intenté esto y no funcionó – adit

3

Try a continuación código para borrar el color de fondo:

//to clear searchbar backgraound 
- (void) clearSearchBarBg 
{ 
    for (UIView *subview in theSearchBar.subviews) 
    { 
     if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) 
     { 
      [subview removeFromSuperview]; 
      break; 
     } 
    } 
} 
+0

intenté esto y no funcionó – adit

+0

Buen intento. Sin embargo, el png transparente funciona: '[searchBar setBackgroundImage: [UIImage imageNamed: @" bg_search.png "]];' –

1

Prueba esto:

[[searchBar.subviews objectAtIndex:0] removeFromSuperview]; 
+0

esto no funcionó tan bien – adit

4

Si admite IOS 5 y superiores acaba de hacer:

[self.searchBar setBackgroundImage:[[UIImage alloc] init]]; 
+1

Impresionante: mucho mejor que enlazar en un archivo de imagen transparente. –

0

para iOS 7, por favor utilice

[searchBar setBarTintColor:[UIColor whiteColor]]; 

para iOS 6, utilice

[searchBar setTintColor:[UIColor whiteColor]]; 
0

Ok, este es un fondo claro, el marcador de posición "Buscar" es gris y como es el icono de spyglass cosita.

[self.searchBar setPlaceholder:@"Search   "; //the spaces push it to left align as there is no left align for the UISearchBar 
[self.searchBar setBackgroundImage:[UIImage imageNamed:@"thatSearchIconThing"] forBarPosition:UIBarPositionTop barMetrics:UIBarMetricsLandscapePhone]; //my app is landscape 
[self.search setSearchBarStyle:UISearchBarStyleMinimal];