1

UITabBarController的默認顏色爲黑色,而UINavigationController的默認顏色爲藍色。我需要將此顏色更改爲其他顏色。我怎樣才能做到這一點編程?以編程方式更改標籤欄和導航欄的顏色

我想我找到了如何更改導航欄的顏色,但我不明白的代碼 [navBorder setBackgroundColor:[UIColor colorWithWhite:200.0f/255.f alpha:0.8f]];

我不明白是什麼colorWithWhite呢?

無論如何,我如何爲UITabBarController添加顏色?

回答

4

要更改iOS 5中的顏色,請設置UITabBarController的tabBartintColor。下面是我做的一個例子:(您可以下載該項目,並嘗試一下自己)

https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/ch19p533tabBarController/p464p475tabBarController/AppDelegate.m

colorWithWhite:alpha:是用於設置灰色,可能與透明度的快捷方式。

+0

你是對的。 +1給你。 – 2011-12-25 18:15:13

+0

是的,@MichaelDautermann,觀察iOS 5中出現的一些真正的花哨和奇怪的界面。你可以爲任何*顏色着色! – matt 2011-12-25 18:35:46

3

要改變的UITabBar顏色編程,你可以使用tintcolor屬性下面的代碼行會幫助你

self.navigationController.navigationBar.tintColor= [UIColor redColor]; 

變化的TabBar顏色

tabBar.tintColor = [UIColor greenColor]; 
+0

+1很好的解決方案.. :) – DShah 2012-01-16 16:51:47

1

有一個在iOS版的外觀代理5

UIAppearance.h class 

@Protocol UIAppearance <NSObject> 
+(id) appearance ; 
+(id) appearanceWhenContainedIn:(Class <UIAppearanceContainer> containerClass,..) 
... 

@end 

#define UI_APPEARANCE_SELECTOR 

這將有助於您可以根據需要更改控件的外觀... 您還可以觀看WWDC 2011會話視頻的「自定義UIKit控件的外觀」以獲取更多信息。

例如: -

[[UINavigationBar appeareance] setBackGroundImage:[UIImage imageNamed:@"navBackground"] forBarMetrics:UIBarMetricsDefault]; 

它改變導航欄圖像在應用種源文件夾中navBackground圖像,並設置導航欄度量爲默認。

[[UIButton ButtonWhenContainedIn:[CustomViewController Class],[UINavigationController Class],nil] setTitleColor:[UIColor redColor] forControlState:UIControlStateNormal]; 

當包含在此層次結構中時,它會將按鈕的標題顏色設置爲紅色。