2012-06-01 17 views
5

私は私の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の背景色をクリアするようにします

+0

てみてください[この] [1] [1]:http://stackoverflow.com/questions/2139115/uisearchbar-clear-background-color-or-set-background-画像-iphone-sdkの は、それはあなたが.... おかげで、私は最近、この問題に直面 –

+0

に役立つだろう、私は透明の背景画像http://stackoverflow.com/questions/37158702/の設定とは異なる解決策を持っている願っていますios-uisearchbar-background-color-in-ios-9 –

答えて

2

透明画像を作成し、以下でそのイメージを使用コード。

[search setSearchFieldBackgroundImage:[UIImage imageNamed:@"bg_search.png"] forState:UIControlStateNormal]; 
+0

これはあなたにとって役に立ちますか?あなたに役立つならPls返信とupvote ... – jaym

+2

私はそれが背景ではなく、検索バーのテキストフィールドを破壊したことがわかりました、それはされている必要があります: '[searchBar setBackgroundImage:[UIImage imageNamed:@" bg_search.png "] ]; ' –

0

使用このコード:

searchBar.backgroundColor=[UIColor clearColor]; 
+0

私はこれを試しましたそれは動作しませんでした – adit

3

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

//to clear searchbar backgraound 
- (void) clearSearchBarBg 
{ 
    for (UIView *subview in theSearchBar.subviews) 
    { 
     if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) 
     { 
      [subview removeFromSuperview]; 
      break; 
     } 
    } 
} 
+0

これを試して、それは動作しませんでした – adit

+0

良い試み。透明なpngハックは機能します: '[searchBar setBackgroundImage:[UIImage imageNamed:@" bg_search.png "]] ' –

1

はこれを試してみてください:

[[searchBar.subviews objectAtIndex:0] removeFromSuperview]; 
+0

これはうまく機能しませんでした – adit

4

あなたは、iOS 5を支持している場合と、上だけで実行します。

[self.searchBar setBackgroundImage:[[UIImage alloc] init]]; 
+1

驚くばかり - 透明な画像ファイルにリンクするよりもはるかに優れています。 –

0

iOSの7のために、使用、IOS 6

[searchBar setBarTintColor:[UIColor whiteColor]]; 

使用してください

[searchBar setTintColor:[UIColor whiteColor]]; 
0

これは明確な背景です。「検索」のプレースホルダはグレーで、スパイグラスアイコンのthingy。

[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];