5

UISearchBar に次のコードがあります。

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

結果は次のとおりです。

ここに画像の説明を入力

白い背景をクリアな色に変更したいです。どうすればいいですか?基本的にはtextField の背景色を clearにしたいです。

4

7 に答える 7

4

iOS 5 以降をサポートしている場合は、次のようにします。

[self.searchBar setBackgroundImage:[[UIImage alloc] init]];
于 2013-06-04T17:28:15.993 に答える
3

背景色をクリアするには、以下のコードを試してください:

//to clear searchbar backgraound
- (void) clearSearchBarBg
{
    for (UIView *subview in theSearchBar.subviews) 
    {
        if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) 
        {
            [subview removeFromSuperview];
            break;
        }
    }
}
于 2012-06-01T06:18:35.690 に答える
2

透明な画像を作成し、その画像を以下のコードで使用します。

[search setSearchFieldBackgroundImage:[UIImage imageNamed:@"bg_search.png"] forState:UIControlStateNormal];
于 2012-06-01T06:34:21.687 に答える
1

これを試して:

[[searchBar.subviews objectAtIndex:0] removeFromSuperview];
于 2012-06-01T06:25:51.797 に答える
0

OK、これは透明な背景です。「検索」プレースホルダーは灰色で、スパイグラスのアイコンも同様です。

[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];
于 2014-09-11T15:13:54.500 に答える
0

iOS 7の場合は、使用してください

[searchBar setBarTintColor:[UIColor whiteColor]];

iOS 6 の場合は、

[searchBar setTintColor:[UIColor whiteColor]];
于 2014-01-02T00:18:47.843 に答える
0

このコードを使用してください:

searchBar.backgroundColor=[UIColor clearColor];
于 2012-06-01T06:13:54.497 に答える