0

非常に奇妙な問題が発生しました。UISearchBar黒くしたいバーを手に入れました。Interface builder のスタイル、色合いを黒に設定しましたが、sim と実際のデバイスではグレーで表示されます。

完全に機能する場合、Interface builder の色合いを他の色 (赤など) に変更すると。

それを捨てて(インターフェイスビルダーから削除して)再作成しようとしましたが、何もしませんでした。私のコードに設定しようとしました。何もない。

何か案は?

4

4 に答える 4

1

xibで色合いを変更するのではなく、このように試すことができます

searchBar.tintColor = [UIColor colorWithRed:0.0/255.0 green:0.0/255.0 blue:0/255.0 alpha:1.0]; //(RGB Values)

ここに画像の説明を入力してください

奇妙なことに、検索バーを作成し、コードを使用して色合いを黒に変更しました(xibを使用していません)。しかし、それは私のシミュレーターと実際のデバイスでうまく機能します。

于 2012-07-21T07:39:09.160 に答える
1

ここに画像の説明を入力してください

CGColorRef topColor = [UIColor colorWithWhite:.4 alpha:1].CGColor;
CGColorRef bottomColor = [UIColor colorWithBlack].CGColor;

UISearchBar *search = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 41)];
CAGradientLayer *gradient = [CAGradientLayer layer];
[gradient setColors:[NSArray arrayWithObjects:(id)topColor,(id)bottomColor, nil]];
[gradient setLocations:[NSArray arrayWithObjects:[NSNumber numberWithFloat:0],[NSNumber numberWithFloat:1], nil]];
[gradient setFrame:search.bounds];
[[[search.subviews objectAtIndex:0] layer] addSublayer:gradient];
[self.view addSubview:search];
于 2012-07-21T08:28:49.697 に答える
1

わかりましたこれが取引です...同じビューに、色合いが濃い灰色の2つのセグメントコントロールがありました。インターフェイスビルダーはこの色にこだわっていたようです。

セグメント コントロールの色を黒に変更してプロジェクトを実行するとすぐに、検索バーがセグメント コントロールの色合いに従いました。次に、セグメント コントロールの色合いをダークグレーに戻しました。すべてうまくいきました。

これを修正するのに1日かかりましたが、それは私のせいでもありませんでした...とにかくすべて良い...

于 2012-07-21T18:35:32.623 に答える
0

ここに画像の説明を入力

UIView *blackView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 41)];
[blackView setBackgroundColor:[UIColor blackColor]];
UISearchBar *search = [[UISearchBar alloc] initWithFrame:blackView.bounds];
[[search.subviews objectAtIndex:0] removeFromSuperview];
[self.view addSubview:blackView];
[blackView addSubview:search];
于 2012-07-21T08:03:09.020 に答える