非常に奇妙な問題が発生しました。UISearchBar
黒くしたいバーを手に入れました。Interface builder のスタイル、色合いを黒に設定しましたが、sim と実際のデバイスではグレーで表示されます。
完全に機能する場合、Interface builder の色合いを他の色 (赤など) に変更すると。
それを捨てて(インターフェイスビルダーから削除して)再作成しようとしましたが、何もしませんでした。私のコードに設定しようとしました。何もない。
何か案は?
非常に奇妙な問題が発生しました。UISearchBar
黒くしたいバーを手に入れました。Interface builder のスタイル、色合いを黒に設定しましたが、sim と実際のデバイスではグレーで表示されます。
完全に機能する場合、Interface builder の色合いを他の色 (赤など) に変更すると。
それを捨てて(インターフェイスビルダーから削除して)再作成しようとしましたが、何もしませんでした。私のコードに設定しようとしました。何もない。
何か案は?
xibで色合いを変更するのではなく、このように試すことができます
searchBar.tintColor = [UIColor colorWithRed:0.0/255.0 green:0.0/255.0 blue:0/255.0 alpha:1.0]; //(RGB Values)
奇妙なことに、検索バーを作成し、コードを使用して色合いを黒に変更しました(xibを使用していません)。しかし、それは私のシミュレーターと実際のデバイスでうまく機能します。
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];
わかりましたこれが取引です...同じビューに、色合いが濃い灰色の2つのセグメントコントロールがありました。インターフェイスビルダーはこの色にこだわっていたようです。
セグメント コントロールの色を黒に変更してプロジェクトを実行するとすぐに、検索バーがセグメント コントロールの色合いに従いました。次に、セグメント コントロールの色合いをダークグレーに戻しました。すべてうまくいきました。
これを修正するのに1日かかりましたが、それは私のせいでもありませんでした...とにかくすべて良い...
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];