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

Objective c 如何在iOS7中更改UISearchBar的背景色,objective-c,ios7,uisearchbar,background-color,uisearchdisplaycontroller,Objective C,Ios7,Uisearchbar,Background Color,Uisearchdisplaycontroller,如何在iOS7中更改UISearchBar的背景色 不是灰色,我想像我的uinavigationbar一样改变颜色 如果我使用这个代码,结果就是这样 searchBar.backgroundColor = [UIColor redColor]; 那不是红色!!! 这与导航栏的背景色完全相同。如果UISearchBar是在MainstryBoard中定义的,只需单击该UISearchBar并查看右侧可以处理的选项。 在那里,如果你点击第四个标签(看起来像盾牌的那个),你有一个条色选项。在那里

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

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

如果我使用这个代码,结果就是这样

searchBar.backgroundColor = [UIColor redColor];

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

如果UISearchBar是在MainstryBoard中定义的,只需单击该UISearchBar并查看右侧可以处理的选项。 在那里,如果你点击第四个标签(看起来像盾牌的那个),你有一个条色选项。在那里,您可以选择所需的UISearchBar颜色

如果没有,我想你可以在程序上做这样的事情:

    UISearchBar* sb =[[UISearchBar alloc] init];
    sb.backgroundColor=[UIColor redColor];
我希望这有帮助

需要使用:

searchBar.barTintColor = [UIColor redColor];


谢谢

这对我来说不太管用,或者有时候,如果你也是,试试这个

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

            }

将背景图像设置为清晰图像,就可以开始了。这也是ios 7之前的兼容版本

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

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

[self.searchDisplayController.searchBar setSearchBarStyle:UISearchBarStyleMinimal];
对于简单的搜索栏

[self.searchBar setSearchBarStyle:UISearchBarStyleMinimal];

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

这是一种去除搜索栏透明度的方法吗?因为颜色不是真正的红色@aladdingalas您只需将UISearchBar的半透明属性设置为NO,如下所示:
[searchbar setTranslucent:NO]我想将圆角添加到此栏?我该怎么做呢?这确实给了酒吧一个红色的色调,但这个色调仍然有透明度/阿尔法。有没有办法摆脱这种情况,以纯色作为色调?将searchbar样式设置为UISearchBarStyleMinimum,这样就可以获得纯色。这只是我还是我看不到你的图片?if子句可以是
if([view isKindOfClass:UISearchBarBackground]
@franklsf95它不起作用,因为它是一个未记录的类。这是一个非常好的答案。如果您想在文本字段中使用白色的最小设计,请使用clearColor