UISearchBar清晰的背景图片

时间:2012-06-01 06:09:22

标签: iphone objective-c ios ipad uisearchbar

我的UISearchBar有以下代码:

 UISearchBar * searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 300, 44)];
    searchBar.placeholder = @"Search for a tag";
    searchBar.delegate = self;

结果如下:

enter image description here

我想将白色背景更改为清晰的颜色。我该怎么做呢?基本上我希望 textField背景颜色清晰

7 个答案:

答案 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];