2012-06-01 19 views
5

Mam następujący kod dla mojego UISearchBar:UISearchBar jasne tło

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

Wynik jest następujący:

enter image description here

Chciałbym zmienić białe tło jasne kolor. Jak mam to zrobic? Zasadniczo chcę, aby kolor tła textField był jasny.

+0

Spróbuj [to] [1] [1]: http://stackoverflow.com/questions/2139115/uisearchbar-clear-background-color-or-set-background- image-iphone-sdk nadzieję, że to pomaga .... Dzięki –

+0

mogę zmierzyć się z tym problemem w ostatnim czasie, mam inne rozwiązanie niż ustawienie przezroczystego tła obrazu http://stackoverflow.com/questions/37158702/ ios-uisearchbar-background-color-in-ios-9 –

Odpowiedz

2

Bądź przezroczysty obraz i użyć tego obrazu z poniżej kod.

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

Czy to jest przydatne dla ciebie, czy nie? Pls odpowiedz i przegłosuj, jeśli jest to pomocne ... – jaym

+2

Znalazłem, że zniszczyłem pole tekstowe paska wyszukiwania, a nie tło, powinno być: '[searchBar setBackgroundImage: [UIImage imageNamed: @" bg_search.png "] ]; ' –

0

użyć tego kodu:

searchBar.backgroundColor=[UIColor clearColor]; 
+0

Próbowałem tego i to nie zadziałało – adit

3

Spróbuj poniżej kod, aby usunąć kolor tła:

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

wypróbowałem tego i nie zadziałało – adit

+0

Dobra próba. Przezroczysty png działa jednak: '[searchBar setBackgroundImage: [UIImage imageNamed: @" bg_search.png "]];' –

1

Spróbuj tego:

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

to nie działa tak dobrze – adit

4

Jeśli wsparcie iOS 5 i powyżej to zrobić:

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

Awesome - znacznie lepiej niż łączenie w przezroczystym pliku obrazu. –

0

dla iOS 7, skorzystaj

[searchBar setBarTintColor:[UIColor whiteColor]]; 

dla iOS 6, użyj

[searchBar setTintColor:[UIColor whiteColor]]; 
0

Ok, jest to jasne tło, symbol zastępczy "Szukaj" jest szary i jak jest ikona szpiega coś.

[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];