75

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.

4

5 回答 5

189

需要使用:

searchBar.barTintColor = [UIColor redColor];

在此处输入图像描述

都谢谢!

于 2013-10-10T17:00:06.070 回答
59

将背景图像设置为清晰的图像,您就可以开始了。这也是 pre-ios 7 兼容的。

searchBar.backgroundImage = [[UIImage alloc] init]
searchBar.backgroundColor = [UIColor redColor];
于 2014-07-28T23:49:53.490 回答
33

如果上述解决方案似乎不起作用,请确保您已将搜索栏样式设置为Minimal

[self.searchDisplayController.searchBar setSearchBarStyle:UISearchBarStyleMinimal];

而对于简单的 searchBar

[self.searchBar setSearchBarStyle:UISearchBarStyleMinimal];

SearchBar Style也可以从界面生成器设置为Minimal

于 2015-01-22T16:10:00.607 回答
6

这对我来说不是真的有用,或者有时,如果你也是,试试这个

for (UIView *view in [[filterTextField.subviews objectAtIndex:0] subviews]){
                if ([NSStringFromClass([view class]) isEqualToString:@"UISearchBarBackground"])
                    view.alpha = 0;

            }
于 2014-03-23T08:07:37.710 回答
4

如果 UISearchBar 是在 MainStoryBoard 中定义的,只需单击该 UISearchBar 并查看您可以在右侧处理的选项。在那里,如果您单击第四个选项卡(看起来像盾牌的选项卡),您将获得一个 Bar Tint 选项。在那里你可以选择你想要的 UISearchBar 颜色。

如果没有,我想以编程方式你可以做这样的事情:

    UISearchBar* sb =[[UISearchBar alloc] init];
    sb.backgroundColor=[UIColor redColor];

我希望这有帮助!

于 2013-10-10T16:43:02.520 回答