Reputation: 3184
How to change background color of UISearchBar in iOS7?
not gray, I want to change color like my uinavigationbar
if I Use this code, that's what comes out
searchBar.backgroundColor = [UIColor redColor];
That is not red color!!! This exact same situation as in background color of navigation bar.
Upvotes: 75
Views: 58102
Reputation: 6905
If the above solutions don't seem working then make sure that you've set the search bar style to Minimal.
[self.searchDisplayController.searchBar setSearchBarStyle:UISearchBarStyleMinimal];
And for simple searchBar
[self.searchBar setSearchBarStyle:UISearchBarStyleMinimal];
SearchBar Style can also be set from interface builder to Minimal.
Upvotes: 33
Reputation: 9419
Set the background image to a clear image and you're good to go. This is also pre-ios 7 compatible.
searchBar.backgroundImage = [[UIImage alloc] init]
searchBar.backgroundColor = [UIColor redColor];
Upvotes: 59
Reputation: 1889
it's not really work for me , or sometimes , if you too , try this
for (UIView *view in [[filterTextField.subviews objectAtIndex:0] subviews]){
if ([NSStringFromClass([view class]) isEqualToString:@"UISearchBarBackground"])
view.alpha = 0;
}
Upvotes: 6
Reputation: 3184
Need to use:
searchBar.barTintColor = [UIColor redColor];
All thanks!
Upvotes: 189
Reputation: 2179
If the UISearchBar was defined in the MainStoryBoard, just click on that UISearchBar and take a look to the options you can handle at right. Over there if you click on the fourth tab (the one that looks like a shield) you've got a Bar Tint option. There you can select the UISearchBar color you want.
If not, I guess programatically you can do something like this:
UISearchBar* sb =[[UISearchBar alloc] init];
sb.backgroundColor=[UIColor redColor];
I hope this helps!
Upvotes: 4