2012-07-21 30 views
0

我有一个非常奇怪的问题。 我得到了一个UISearchBar酒吧,我希望它是黑色的。 我已将界面生成器上的样式,色调设置为黑色,但在SIM和实际设备上显示为灰色。Uisearchbar不“喜欢”黑色

当我将界面生成器上的色调颜色更改为其他任何(如红色),如果完美地工作。

尝试沟(从界面生成器中删除),并重新创建它,但没有。 试图将其设置在我的代码上。没有。

任何想法?

回答

1

确定这里的交易...我对与色调的颜色darkgrey了同样的观点两段控制。 看来,界面生成器被卡住了这种颜色。

只要我将段控制颜色改为黑色并运行该项目,搜索栏就会按照段控制色调颜色。 然后,我将段控件的色调更改为darkgrey,并且一切都很好!

我花了一天解决这个问题,它甚至不是我的错......总之 都好......

1

你可以尝试这样的,而不是在厦门国际银行改变色调颜色

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

enter image description here

奇怪: 我刚刚创建的搜索栏,并改变了它(不使用XIB)的色调颜色为黑色,通过代码。但它在我的模拟器和实际设备上工作正常。

+0

我做到了!它只是不喜欢黑!当它被设置为任何类似黑色的东西时,它总是返回灰色!如果我在代码中将它设置为红色,它可以正常工作! – 2012-07-21 07:42:55

0

enter image description here

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]; 
+0

它的工作方式。但是我很想知道为什么简单的tintColor甚至风格不能完成这项工作! – 2012-07-21 17:15:05

+0

但是,当搜索栏被选中并且处于活动状态时,这会掩盖取消按钮... – 2012-07-21 18:20:46

1

enter image description here

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]; 
+0

也不能正常工作.... – 2012-07-21 18:22:55

+0

您必须#import 2012-07-21 21:52:58

+0

我做到了。我知道它不会给我一个黑色的搜索栏色调!看到我上面的答案,看看我的问题是什么。谢谢。 – 2012-07-22 08:31:57