2011-07-24 347 views
13

我已經通過下面的代碼目標C:如何更改文本顏色在導航欄

navconFvc.navigationBar.tintColor = [UIColor colorWithHexString:@"faf6f5"]; 

的代碼工作改變了我的導航欄的顏色,但文本顏色也需要改變(見下圖)。同樣在右側的刷新按鈕徽標也會受影響

enter image description here

如果我導航到另一個頁面在棧

enter image description here

問題發生同樣的問題:我怎樣才能改變在

  • 標題文本
  • 巴色CK按鈕文字和
  • 右鍵按鈕圖標顏色?

當我改變了導航欄的背景顏色?

回答

15

對於這裏的標題就是這樣:

iPhone Navigation Bar Title text color

而對於這裏的自定義按鈕的方式:

adding buttons to ui navigation controller bottom bar

+1

林孔,法杜勒,感謝環節,第一環節很適合我。但是,我仍然不確定如何更改按鈕的文本顏色或圖標顏色。對於圖標,我可能可以直接更改圖像。但是,例如後退按鈕的文字顏色呢?該鏈接並沒有真正解釋該部分 – Zhen

+0

舊的答案,使用@ Erwan的一個 – Zeb

1

我只是把一個簡單的UIViewController子類,增加了一個可定製後退按鈕,允許您更改文字顏色。它基本上增加了一些willAppear/willDisappear邏輯,使UINavigationController在使用leftBarButtonItem屬性時的方式爲後退按鈕設置動畫。您也可以將其擴展到右邊的BarButtomItem。

https://github.com/typeoneerror/BBCustomBackButtonViewController

6

要更改文本顏色:

_navController.navigationBar.titleTextAttributes 
     = @{UITextAttributeTextColor : [UIColor blackColor]}; 

添加刷新按鈕和顏色吧:

UIBarButtonItem *button = [[UIBarButtonItem alloc] 
     initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh 
     target:self action:@selector(reload)]; 

[button setTintColor:[UIColor blackColor]]; 
self.navigationItem.rightBarButtonItem = button; 

的變量影響導航欄背景:

_navController.navigationBar.backgroundColor = [UIColor whiteColor]; 
_navController.navigationBar.tintColor = [UIColor whiteColor]; 
_navController.navigationBar.translucent = NO; 
15

在iOS系統7,只需使用:

self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]}; 

變化[的UIColor whiteColor]與任何文本顏色,你想