dev.nikolaz
dev.nikolaz

Reputation: 3184

How to change background color of UISearchBar in iOS7

How to change background color of UISearchBar in iOS7?

enter image description here

not gray, I want to change color like my uinavigationbar

if I Use this code, that's what comes out

searchBar.backgroundColor = [UIColor redColor];

enter image description here

That is not red color!!! This exact same situation as in background color of navigation bar.

Upvotes: 75

Views: 58102

Answers (5)

zeeawan
zeeawan

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

Vadoff
Vadoff

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

chings228
chings228

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

dev.nikolaz
dev.nikolaz

Reputation: 3184

Need to use:

searchBar.barTintColor = [UIColor redColor];

enter image description here

All thanks!

Upvotes: 189

FabKremer
FabKremer

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

Related Questions