如何在iOS7中更改UISearchBar的背景颜色

如何更改iOS7中的UISearchBar的背景颜色?

在这里输入图像说明

不是灰色的,我想改变我的uinavigationbar颜色

如果我使用这个代码,这是什么出来

searchBar.backgroundColor = [UIColor redColor]; 

在这里输入图像说明

那不是红色! 这与导航栏的背景颜色完全相同的情况。

需要使用:

 searchBar.barTintColor = [UIColor redColor]; 

在这里输入图像说明

谢谢!

设置背景图像清晰的图像,你很好去。 这也是pre-ios 7兼容。

 searchBar.backgroundImage = [[UIImage alloc] init] searchBar.backgroundColor = [UIColor redColor]; 

如果上述解决scheme似乎不工作,请确保您已将search栏样式设置为最小

 [self.searchDisplayController.searchBar setSearchBarStyle:UISearchBarStyleMinimal]; 

并为简单的search条

 [self.searchBar setSearchBarStyle:UISearchBarStyleMinimal]; 

SearchBar样式也可以从界面生成器设置为最小

这对我来说并不是真正的工作,或者有时候,如果你也这样做的话

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

如果在MainStoryBoard中定义了UISearchBar,只需单击该UISearchBar并查看可以在右侧处理的选项。 在那里,如果你点击第四个标签(看起来像一个盾牌),你有一个酒吧色调选项。 在那里你可以select你想要的UISearchBar颜色。

如果没有,我猜编程上你可以做这样的事情:

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

我希望这有帮助!