我的UISearchBar有以下代码:
UISearchBar * searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 300, 44)];
searchBar.placeholder = @"Search for a tag";
searchBar.delegate = self;
结果如下:
我想将白色背景更改为清晰的颜色。我该怎么做呢?基本上我希望 textField背景颜色清晰。
答案 0 :(得分:4)
如果您支持iOS 5及更高版本,请执行以下操作:
[self.searchBar setBackgroundImage:[[UIImage alloc] init]];
答案 1 :(得分:3)
尝试使用以下代码清除背景颜色:
//to clear searchbar backgraound
- (void) clearSearchBarBg
{
for (UIView *subview in theSearchBar.subviews)
{
if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")])
{
[subview removeFromSuperview];
break;
}
}
}
答案 2 :(得分:2)
制作透明图像,并将该图像与下面的代码一起使用。
[search setSearchFieldBackgroundImage:[UIImage imageNamed:@"bg_search.png"] forState:UIControlStateNormal];
答案 3 :(得分:1)
试试这个:
[[searchBar.subviews objectAtIndex:0] removeFromSuperview];
答案 4 :(得分:0)
使用此代码:
searchBar.backgroundColor=[UIColor clearColor];
答案 5 :(得分:0)
对于iOS 7,请使用
[searchBar setBarTintColor:[UIColor whiteColor]];
对于ios 6,请使用
[searchBar setTintColor:[UIColor whiteColor]];
答案 6 :(得分:0)
好的,这是一个明确的背景,"搜索"占位符是灰色的,小望远镜图标也是灰色的。
[self.searchBar setPlaceholder:@"Search "; //the spaces push it to left align as there is no left align for the UISearchBar
[self.searchBar setBackgroundImage:[UIImage imageNamed:@"thatSearchIconThing"] forBarPosition:UIBarPositionTop barMetrics:UIBarMetricsLandscapePhone]; //my app is landscape
[self.search setSearchBarStyle:UISearchBarStyleMinimal];