2012-07-21 71 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