2012-06-01 16 views
5

Ich habe den folgenden Code für meine UISearchBar:UISearchBar klaren Hintergrund Bild

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

Das Ergebnis ist wie folgt:

enter image description here

Ich möchte den weißen Hintergrund zu einer klaren ändern Farbe. Wie mache ich das? Grundsätzlich möchte ich die textField Hintergrundfarbe klar sein.

+0

Bitte versuchen Sie [diese] [1] [1]: http://stackoverflow.com/questions/2139115/uisearchbar-clear-background-color-or-set-background- Bild-iphone-sdk hoffen, dass es Ihnen hilft .... Dank –

+0

ich dieses Problem vor kurzem Gesicht, ich habe eine andere Lösung als die Einstellung transparenten Hintergrund Bild http://stackoverflow.com/questions/37158702/ ios-uisearchbar-background-color-in-ios-9 –

Antwort

2

transparent Bild machen, und das Bild verwenden, um mit unter Code.

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

Ist das nützlich für Sie oder nicht? Pls Antwort und upvote, wenn es für Sie hilfreich ist ... – jaym

+2

Ich fand, dass das Suchfeld Textfeld nicht den Hintergrund zerstört, sollte es gewesen sein: '[searchBar setBackgroundImage: [UIImage imageNamed: @" bg_search.png "] ]; ' –

0

diesen Code verwenden:

searchBar.backgroundColor=[UIColor clearColor]; 
+0

Ich habe das versucht und es hat nicht funktioniert – adit

3

Try Code unten Hintergrundfarbe löschen:

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

versuchte dies und es hat nicht funktioniert – adit

+0

Guter Versuch. Der transparente PNG-Hack funktioniert aber: '[searchBar setBackgroundImage: [UIImage imageNamed: @" bg_search.png "]];' –

1

Versuchen Sie folgendes:

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

das hat auch nicht funktioniert – adit

4

Wenn Sie unterstützen iOS 5 und oben nur tun:

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

Super - viel besser als das Verknüpfen in einer transparenten Bilddatei. –

0

für iOS 7, benutzen Sie bitte

[searchBar setBarTintColor:[UIColor whiteColor]]; 

für ios 6, verwenden

[searchBar setTintColor:[UIColor whiteColor]]; 
0

Ok, das ist ein klarer Hintergrund, der "Search" Platzhalter ist grau und das ist der Fernglas Symbol Dings.

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