我知道如何删除/更改UISearchBar搜索字段周围的背景颜色:
[[self.searchBar.subviews objectAtIndex:0] removeFromSuperview];
self.searchBar.backgroundColor = [UIColor grayColor];
Run Code Online (Sandbox Code Playgroud)

但是不知道如何在里面这样做:

这需要与iOS 4.3+兼容.
在UISearchBar中,默认情况下应该显示背景视图.怎么隐藏?我只需要在UISearchBar中搜索textview部分.
我已经实现了一个搜索栏,我想改变搜索栏的颜色.我怎样才能做到这一点?
我尝试过:
self.mySearchBar.backgroundColor = [UIColor redColor];
Run Code Online (Sandbox Code Playgroud)
但没有成功.
更新(已解决):
在使用以下代码定义背景颜色之前,我必须删除默认背景颜色.
for (UIView *subview in mySearchBar.subviews) {
if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {
[subview removeFromSuperview];
break;
}
}
Run Code Online (Sandbox Code Playgroud)
...所以代码将是下一个:
for (UIView *subview in mySearchBar.subviews) {
if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {
[subview removeFromSuperview];
break;
}
}
self.mySearchBar.backgroundColor = [UIColor redColor];
Run Code Online (Sandbox Code Playgroud) 我的UISearchBar有以下代码:
UISearchBar * searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 300, 44)];
searchBar.placeholder = @"Search for a tag";
searchBar.delegate = self;
Run Code Online (Sandbox Code Playgroud)
结果如下:

我想将白色背景更改为清晰的颜色.我该怎么做呢?基本上我希望textField背景颜色清晰.
在我的应用程序中,我正在使用UISearchBar自定义UIView.
以下是显示的代码UISearchBar.
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(50, 135, 230, 32)];
searchBar.barTintColor = [UIColor clearColor];
searchBar.placeholder = @"Search";
[self addSubview:searchBar];
Run Code Online (Sandbox Code Playgroud)
在iOS 7.0.3中,没有显示bartint颜色,

但是在iOS 7.1中,bartint颜色没有隐藏.

更改搜索栏的背景颜色很容易.但是,我不知道如何更改其背景图像.没有直接的方法.我需要帮助...............我很欣赏任何给定的想法......
objective-c ×6
uisearchbar ×5
ios ×4
iphone ×4
ipad ×2
background ×1
ios7 ×1
ios7.1 ×1
searchbar ×1
xcode ×1